发送包含有效职位和sidekiq的电子邮件

时间:2015-09-24 12:34:52

标签: ruby-on-rails sidekiq

我有一份发送电子邮件的活跃工作

class UpdateEmailJob < ActiveJob::Base

  queue_as :default

  def perform()
    NotificationsMailer.create_client("mymail@gmail.com").deliver
  end
end

然后在我的代码中我调用后面的执行方法

UpdateEmailJob.perform_later

我收到一条消息,告知作业已入队

[ActiveJob] Enqueued UpdateEmailJob (Job ID: 1a57232b-f6a8-4dc6-b612-8aca1b1dba2c) to Sidekiq(default)

但电子邮件尚未发送,我该如何调试呢?有没有办法探索队列?有没有办法强制工人运行所有队列作业?

1 个答案:

答案 0 :(得分:1)

您是否正在运行sidekiq邮件程序队列?如果没有,请运行:

bundle exec sidekiq -q default -q mailers

您可以通过Sidekiq API进行交互和调试排队作业。运行rails c,然后:

require 'sidekiq/api'

Sidekiq::Queue.new("mailers")

这提供了目前在邮寄者中排队的所有工作。从那里,查看API文档以了解检查它们的不同方法。