我只是不明白这是如何工作的,需要帮助。我做了什么...
我已经安装了 sidekiq gem,我已经添加到 application.rb 文件
class Application < Rails::Application
# ...
config.active_job.queue_adapter = :sidekiq
end
我已经创建了一个作业(不确定这是否有必要,因为我现在只使用 ActionMailer)
rails generate job Example
我已将#deliver_later 添加到actionmailer
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 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c8b8baa1bea9bcad88b8baa1bea9bcade6aba7a5" rel="noreferrer noopener nofollow">[email protected]</a> (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
最佳答案
你必须运行
bundle exec sidekiq
来自 Rails 项目的根目录。如果该窗口正在运行,您将在该窗口中看到正在处理的作业。
关于ruby-on-rails - Cloud9 开发和 Heroku 生产上的 Sidekiq 与 Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759528/