【问题标题】:How to delete Resque ActiveJob Queue如何删除 Resque ActiveJob 队列
【发布时间】:2020-04-30 23:13:58
【问题描述】:

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

从文档中,我知道我可以做到

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

所以在我的例子中,我使用的是默认队列,我的 Job 类名称是 NotificationJob,这就是我在 Heroku 上的控制台中所做的:

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

但它不起作用

【问题讨论】:

    标签: ruby-on-rails resque rails-activejob


    【解决方案1】:

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

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

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

    希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 2016-08-24
      相关资源
      最近更新 更多