我只是不明白这是如何运作的,需要帮助。我做了什么......
我已经安装了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
答案 0 :(得分:2)
你必须运行
bundle exec sidekiq
来自rails项目的根目录。如果正在运行,您将在该窗口中看到正在处理的作业。