lib/good_job/adapter.rb in good_job-2.4.0 vs lib/good_job/adapter.rb in good_job-2.4.1
- old
+ new
@@ -36,11 +36,11 @@
@poller = GoodJob::Poller.new(poll_interval: @configuration.poll_interval)
@scheduler = GoodJob::Scheduler.from_configuration(@configuration, warm_cache_on_initialize: Rails.application.initialized?)
@notifier.recipients << [@scheduler, :create_thread]
@poller.recipients << [@scheduler, :create_thread]
- @cron_manager = GoodJob::CronManager.new(@configuration.cron, start_on_initialize: Rails.application.initialized?) if @configuration.enable_cron?
+ @cron_manager = GoodJob::CronManager.new(@configuration.cron_entries, start_on_initialize: Rails.application.initialized?) if @configuration.enable_cron?
end
end
# Enqueues the ActiveJob job to be performed.
# For use by Rails; you should generally not call this directly.
@@ -62,13 +62,15 @@
create_with_advisory_lock: execute_inline?
)
if execute_inline?
begin
- execution.perform
+ result = execution.perform
ensure
execution.advisory_unlock
end
+
+ raise result.unhandled_error if result.unhandled_error
else
job_state = { queue_name: execution.queue_name }
job_state[:scheduled_at] = execution.scheduled_at if execution.scheduled_at
executed_locally = execute_async? && @scheduler.create_thread(job_state)