resque-scheduler
resque-scheduler copied to clipboard
"Cancel job" request fails if the job queued in a different queue
delayed_cancel_now calls Resque.remove_delayed_job_from_timestamp which expects the job to be queued in the queue that defined in the job class.
But it's not always the case. In our codebase, we sometimes don't define queues at all and either defining the queue in resque_scheduler.yml or Resque.enqueue_at_with_queue.
I suggest showing "queue" column in the delayed jobs search result, passing the queue as a parameter to /delayed/cancel_now and using job_to_hash_with_queue to encode the job.
This will also help it deal with constants that are not autoloaded and dependent on Rails lazy load.