从命令行启动时,防止sidekiq执行排队的作业?

时间:2015-03-01 22:36:51

标签: ruby-on-rails sidekiq

当我在开发环境(Rails 3.2)中启动sidekiq时,我使用以下命令:

bundle exec sidekiq

当我这样做时,sidekiq将执行所有在未运行时排队的作业。例如如果我在测试期间创建了一堆新用户帐户,它会尝试向所有虚假帐户发送欢迎电子邮件(我的电子邮件是从sidekiq作业发送的)。

有没有办法启动sidekiq并告诉它删除所有挂起的作业?这样我可以重新打开它而不用担心它会尝试运行一堆不需要运行的作业(因为这是我的开发环境)。

我看过文档,但找不到答案,希望这是我忽略的简单......

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方案:使用sidekiq(https://github.com/mperham/sidekiq/wiki/Monitoring)附带的sidekiq监控UI,我能够查看所有队列(即使sidekiq没有运行)。删除队列将删除其中的所有作业,从而解决问题。

enter image description here

答案 1 :(得分:1)

redis-cli flushall && bundle exec sidekiq