Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing job class completely blocks queue #522

Open
namolnad opened this issue Feb 24, 2025 · 0 comments
Open

Missing job class completely blocks queue #522

namolnad opened this issue Feb 24, 2025 · 0 comments

Comments

@namolnad
Copy link
Contributor

Hi there,

This is something that's ultimately my fault, but I thought solid_queue could ultimately have some more defensive behavior. Here is an outline of the issue:

  1. During refactoring, I removed a Job class that was no longer needed
  2. After launching these changes, things worked as normal until a scheduled job of the removed class was due for execution.
  3. Upon scheduled execution, solid_queue tried to gain the concurrency lock, but the job class was nil when delegated to
  4. The nil job class caused the process to crash, causing the supervisor to fork the process and try again. This repeated continuously
  5. None of the other scheduled jobs were able to process, because the initial (nil class) job was blocking the queue from continuing.
  6. This should have been handled (and ultimately was) via removing the scheduled jobs for the removed class, but it seems there is room for some more defensive behavior, allowing the queue to continue processing and creating some kind of failed execution record.

Here is a screenshot of some of the backtrace during this issue:

Image

Thanks for considering and please let me know if you'd like any further info!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant