【发布时间】:2017-02-13 13:02:11
【问题描述】:
我有一个在 Nginx/Passenger 上运行的 Rails 应用程序。它有一个 rufus-scheduler cron 作业,在后台运行并通过电子邮件发送通知。
当我在 Nginx/Passenger 上启动生产中的应用程序时,电子邮件不会发送。在生产日志中,它没有显示 rufus-scheduler 的任何日志。
我陷入了这个问题。无法调试调度程序。
但在阅读了一些问题和文章后,我确信调度程序线程在生产时被乘客杀死。
代码sn-p:
示例:
require 'rufus-scheduler'
scheduler = Rufus::Scheduler::singleton
scheduler.cron '0 12 * * *' do
puts "alert scheduler called at"
puts Time.now
system("rake trigger:email RAILS_ENV=production")
end
请在乘客/nginx 的 conf 上帮助我,以允许调度程序线程运行并触发邮件。
【问题讨论】:
-
如果您不向您的问题添加更多详细信息(例如您的乘客配置),那么没有人可以帮助您。
-
我已经添加了代码示例,他们的实现有什么问题吗。
-
我发现Rufus Thread一直处于睡眠状态,是什么原因??
标签: ruby-on-rails nginx passenger rufus-scheduler