ActiveJob deliver_later不发送

Abr*_*ram 6 ruby-on-rails rails-activejob

我有以下方法:

UserMailer.comment_alert(@comment, user, type).deliver_later
Run Code Online (Sandbox Code Playgroud)

哪个奇怪地出现deliver_now在rails日志中的param :

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: 5bdf9ed1-53d5-42aa-acb2-7ce54ab284e1) to Sidekiq(mailers) with arguments: "UserMailer", "comment_alert", "deliver_now", gid://xxx/Comment/153, gid://xxx/User/26, "Comment"
Run Code Online (Sandbox Code Playgroud)

工作永远不会进行,我在Sidekiq日志中看不到任何内容.也没有送过邮件.我尝试重启sidekiq,rails和redis,甚至清除redis db.有趣的是改变了.deliver_now作品,但这似乎没有触及sidekiq或创建一个Enqueued ActionMailer::DeliveryJob

在我的application.rb中:

config.active_job.queue_adapter = :sidekiq
Run Code Online (Sandbox Code Playgroud)

我使用rails 4.2.6 with activejob 4.2.6

小智 18

邮件程序在队列邮件中排队.记得开始sidekiq处理该队列:

bundle exec sidekiq -q default -q mailers
Run Code Online (Sandbox Code Playgroud)

或添加config/sidekiq.yml以下内容

  :verbose: true
  :concurrency: 25
  :queues:
    - [mailers, 7]
    - [default, 5]
Run Code Online (Sandbox Code Playgroud)

并运行 bundle exec sidekiq -C config/sidekiq.yml