Sidekiq在Cloud9 Dev和Heroku Production上使用Rails 4

时间:2016-09-29 00:23:07

标签: ruby-on-rails ruby-on-rails-4 heroku sidekiq

我只是不明白这是如何运作的,需要帮助。我做了什么......

我已经安装了sidekiq gem,我已经添加到application.rb文件

class Application < Rails::Application
  # ...
  config.active_job.queue_adapter = :sidekiq
end

我创建了一个Job(不确定这是否必要,因为我现在只使用ActionMailer)

rails generate job Example

我已将#deliver_later添加到动作管理器

if po_collection.empty? == false
      VendorSender.open_order_sender(user, vendor, po_collection).deliver_later
end

我在这里遗漏了什么?我怎么知道它有效?此外,服务器日志似乎正在工作,但我仍在等待发送电子邮件。

2016-09-30T14:11:21.109402+00:00 app[worker.1]: 
2016-09-30T14:11:21.109509+00:00 app[worker.1]: [ActiveJob] [ActionMailer::DeliveryJob] [9da34b85-8695-4a0f-939f-c1614b141cb7] Performed ActionMailer::DeliveryJob from Sidekiq(mailers) in 1205.49ms
2016-09-30T14:11:21.110374+00:00 app[worker.1]: 3 TID-otddzp9gg ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper JID-3d86866a3e1d54bb0486c63c INFO: done: 3.415 sec
2016-09-30T14:11:21.111969+00:00 app[worker.1]: [ActiveJob] [ActionMailer::DeliveryJob] [e70249d4-81ff-4ca3-8e8a-d8534cd59370] 
2016-09-30T14:11:21.111970+00:00 app[worker.1]: Sent mail to private@private.com (939.1ms)
2016-09-30T14:11:21.112015+00:00 app[worker.1]: [ActiveJob] [ActionMailer::DeliveryJob] [e70249d4-81ff-4ca3-8e8a-d8534cd59370] Date: Fri, 30 Sep 2016 07:11:20 -0700

1 个答案:

答案 0 :(得分:2)

你必须运行

bundle exec sidekiq

来自rails项目的根目录。如果正在运行,您将在该窗口中看到正在处理的作业。