【发布时间】:2018-08-29 03:26:39
【问题描述】:
我刚刚在我的应用上安装了redis和sidekiq,
我有工作在被调用时更新用户表上的字段,
每周向所有用户发送一封电子邮件的工作。
现在,如果我使用 bundle exec sidekiq 启动 sidekiq,更新用户字段的作业将启动并完成,但电子邮件作业仍保留在排队部分。
但是,如果我使用从 Sidekiq github 页面获得的 bundle exec sidekiq -q workers -q mailers 启动它,则只有邮件作业完成,其他作业留在排队部分。
有一个命令可以同时运行吗?我昨天才开始学习sidekiq和redis,如果这是一个愚蠢的问题,请见谅,
我在 application.rb 中将 activejob.que_adaptar 设置为 sidekiq。
这就是我为用户作业设置 sidekiq 工作人员的方式:
class DeactivateUser
include Sidekiq::Worker
def perform
User.active.update_all(active: false)
end
end
谢谢。
【问题讨论】:
-
问题可能是您没有将“默认”列为要处理的队列。
-
嗨@MikePerham,感谢您的回复,我是否还需要列出邮寄作业的“邮寄”队列?你的回答很奇怪,因为我几天前才看了你在 sidekiq 上的演讲!
-
您需要列出要处理的队列。我只会将所有作业发送到默认值,为什么要添加额外的队列?
标签: ruby-on-rails sidekiq