lib/good_job/adapter.rb in good_job-3.15.3 vs lib/good_job/adapter.rb in good_job-3.15.4
- old
+ new
@@ -48,14 +48,18 @@
active_jobs = Array(active_jobs)
return 0 if active_jobs.empty?
current_time = Time.current
executions = active_jobs.map do |active_job|
- GoodJob::Execution.build_for_enqueue(active_job, {
- id: SecureRandom.uuid,
- created_at: current_time,
- updated_at: current_time,
- })
+ GoodJob::Execution.build_for_enqueue(active_job).tap do |execution|
+ if GoodJob::Execution.discrete_support?
+ execution.make_discrete
+ execution.scheduled_at = current_time if execution.scheduled_at == execution.created_at
+ end
+
+ execution.created_at = current_time
+ execution.updated_at = current_time
+ end
end
inline_executions = []
GoodJob::Execution.transaction(requires_new: true, joinable: false) do
results = GoodJob::Execution.insert_all(executions.map(&:attributes), returning: %w[id active_job_id]) # rubocop:disable Rails/SkipsModelValidations