Ruby on rails 4 如何检查sidekiq队列
在单独的选项卡中,我正在运行Ruby on rails 4 如何检查sidekiq队列,ruby-on-rails-4,sidekiq,Ruby On Rails 4,Sidekiq,在单独的选项卡中,我正在运行 bundle exec sidekiq 在我运行的另一个选项卡中: SendWithUsInviteeMailerJob.perform\u async(invitee.id) 这就开始了这里的工作: class SendWithUsInviteeMailerJob include Sidekiq::Worker sidekiq_options queue: :mailer, retry: 2 def perform(invitee_id) S
bundle exec sidekiq
在我运行的另一个选项卡中:
SendWithUsInviteeMailerJob.perform\u async(invitee.id)
这就开始了这里的工作:
class SendWithUsInviteeMailerJob
include Sidekiq::Worker
sidekiq_options queue: :mailer, retry: 2
def perform(invitee_id)
SendWithUsInviteeMailer.welcome(invitee_id).deliver
end
end
如何确定此作业是否在sidekiq中排队?假设这是一个测试环境。我基本上希望看到这个作业是为了测试而排队的
这是我的档案:
...
宝石“sidekiq”
宝石“redis”
...
在我的spec_助手中:
require 'sidekiq/testing'
config.before(:each) do
Sidekiq::Worker.clear_all
end
end
Sidekiq::Testing.fake!
有多种方法可以做到这一点。一种方法是使用
Sidekiq::Web
,这是一个很好的图形界面,用于查看计划、排队、忙碌、已处理、重试和失败的作业:
另一种方法是使用终端。运行redis server
和sidekiq
启动服务。现在,在rails中,键入SendWithUsInviteeMailerJob.perform_async
以执行作业,然后将在运行sidekiq的终端窗格中显示该作业
或者,在rails控制台中调用
Sidekiq::enqued_jobs(queue::mailer)
,以获取一组mailer作业。但是,对于快速作业,您需要同样快速地键入,以便在作业被发送到繁忙作业(Sidekiq::busy_jobs
)并被执行之前捕获该作业。在运行bundle exec Sidekiq
的终端选项卡中,如何获取日志以查看该作业排队的内容?(id号、参数等)