bensheldon/good_job · error

GoodJob scheduler has been killed. The following Active Jobs

Error message

GoodJob scheduler has been killed. The following Active Jobs were interrupted: #{active_job_ids.join(' ')}

What it means

Error "GoodJob scheduler has been killed. The following Active Jobs were interrupted: #{active_job_ids.join(' ')}" thrown in bensheldon/good_job.

Source

Thrown at lib/good_job/log_subscriber.rb:84

      info(tags: [process_id]) do
        "GoodJob shutting down scheduler..."
      end
    end

    # @!macro notification_responder
    def scheduler_shutdown(event)
      process_id = event.payload[:process_id]

      info(tags: [process_id]) do
        "GoodJob scheduler is shut down."
      end
    end

    def scheduler_shutdown_kill(event)
      process_id = event.payload[:process_id]

      warn(tags: [process_id]) do
        active_job_ids = event.payload.fetch(:active_job_ids, [])
        if active_job_ids.any?
          "GoodJob scheduler has been killed. The following Active Jobs were interrupted: #{active_job_ids.join(' ')}"
        else
          "GoodJob scheduler has been killed."
        end
      end
    end

    # @!macro notification_responder
    def scheduler_restart_pools(event)
      process_id = event.payload[:process_id]

      info(tags: [process_id]) do
        "GoodJob scheduler has restarted."
      end
    end

View on GitHub (pinned to 5fcde48f87)

Solutions

  1. The scheduler process was killed; investigate OOM kills or external SIGKILL.
  2. Make jobs idempotent so interrupted jobs can be safely retried or discarded.

Example fix

# Check container/systemd OOM logs and memory limits; ensure jobs are idempotent

When it happens

Trigger: Thrown at lib/good_job/log_subscriber.rb:84 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of bensheldon/good_job@5fcde48f87 (2026-08-23). Data as JSON: /api/errors/af8d1c2efd03a5f7. Report an issue: GitHub.