{"record":{"id":"af8d1c2efd03a5f7","repo":"bensheldon/good_job","slug":"goodjob-scheduler-has-been-killed-the-following-a","errorCode":null,"errorMessage":"GoodJob scheduler has been killed. The following Active Jobs were interrupted: #{active_job_ids.join(' ')}","messagePattern":"GoodJob scheduler has been killed\\. The following Active Jobs were interrupted: #(.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/good_job/log_subscriber.rb","lineNumber":84,"sourceCode":"\n      info(tags: [process_id]) do\n        \"GoodJob shutting down scheduler...\"\n      end\n    end\n\n    # @!macro notification_responder\n    def scheduler_shutdown(event)\n      process_id = event.payload[:process_id]\n\n      info(tags: [process_id]) do\n        \"GoodJob scheduler is shut down.\"\n      end\n    end\n\n    def scheduler_shutdown_kill(event)\n      process_id = event.payload[:process_id]\n\n      warn(tags: [process_id]) do\n        active_job_ids = event.payload.fetch(:active_job_ids, [])\n        if active_job_ids.any?\n          \"GoodJob scheduler has been killed. The following Active Jobs were interrupted: #{active_job_ids.join(' ')}\"\n        else\n          \"GoodJob scheduler has been killed.\"\n        end\n      end\n    end\n\n    # @!macro notification_responder\n    def scheduler_restart_pools(event)\n      process_id = event.payload[:process_id]\n\n      info(tags: [process_id]) do\n        \"GoodJob scheduler has restarted.\"\n      end\n    end\n","sourceCodeStart":66,"sourceCodeEnd":102,"githubUrl":"https://github.com/bensheldon/good_job/blob/5fcde48f8765e69901ffa9c5a06122b19c73875f/lib/good_job/log_subscriber.rb#L66-L102","documentation":"Error \"GoodJob scheduler has been killed. The following Active Jobs were interrupted: #{active_job_ids.join(' ')}\" thrown in bensheldon/good_job.","triggerScenarios":"Thrown at lib/good_job/log_subscriber.rb:84 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The scheduler process was killed; investigate OOM kills or external SIGKILL.","Make jobs idempotent so interrupted jobs can be safely retried or discarded."],"exampleFix":"# Check container/systemd OOM logs and memory limits; ensure jobs are idempotent","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5fcde48f8765e69901ffa9c5a06122b19c73875f","analyzedAt":"2026-08-23T14:55:11.399Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}