【问题标题】:Can ActiveStorage::PurgeJob be enqueued to other than `default`?ActiveStorage::PurgeJob 可以排入“默认”以外的队列吗?
【发布时间】:2018-09-15 01:12:14
【问题描述】:

在我们的 Rails 代码中没有任何名为 default 的队列。但似乎 Sidekiq 将 ActiveStorage::PurgeJob 的队列设置为default。这就是为什么purge_later 从来没有工作过的原因。

[ActiveJob] Enqueued ActiveStorage::PurgeJob (Job ID: .. ) to Sidekiq(default) with arguments

有没有办法在这里使用不同于“默认”的队列名称?我还找不到有关它的文档。

【问题讨论】:

    标签: rails-activestorage


    【解决方案1】:

    设置 Active Storage 使用的 Active Job 队列的名称

    您可以像这样在配置级别更改 Active Storage 用于其异步作业的队列

    config.active_storage.queue = :low_priority
    

    要使其成为应用程序范围的更改,请将其放入您的application.rb。对于特定环境的更改,将其放入config/environments下的相关环境文件中

    在此处查看文档:
    https://guides.rubyonrails.org/configuring.html#configuring-active-storage

    【讨论】:

    【解决方案2】:

    这对我不起作用,而是以下工作

    config.active_storage.queues = Hash.new(:default)
    

    这是由于 purge_job.rb 像这样查找队列名称

    queue_as { ActiveStorage.queues[:purge] }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 2015-07-21
      • 2018-02-18
      相关资源
      最近更新 更多