如何删除 Resque 活动作业队列



我正在使用带有Redis的Resque作为通过ActiveJob的队列后端。如何清除所有队列以防止作业再次运行。

从文档中,我看到我可以做到

Resque::Job.destroy(queue_name, "Job_CLass_Name")

所以就我而言,我使用的是默认队列,我的作业类名称是NotificationJob,这是我从 Heroku 控制台上所做的:

Resque::Job.destroy("default", "NotificationJob")

但它不起作用

ActiveJob 在您的作业类周围使用包装器类。所以对于 Resque,包装类名是ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper

对于队列名称,我建议您通过Resque.queues检查可用的队列。有时,环境名称将附加到默认队列名称。因此,在您的情况下,您可以尝试:

Resque.destroy("#{environment_name}_default", "ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper")

希望这有所帮助

最新更新