【问题标题】:Rufus Scheduler not running in production Nginx/PassengerRufus 调度程序未在生产 Nginx/Passenger 中运行
【发布时间】: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 上帮助我,以允许调度程序线程运行并触发邮件。

【问题讨论】:

标签: ruby-on-rails nginx passenger rufus-scheduler


【解决方案1】:

您需要在 passanger 配置块中进行设置

passenger_spawn_method 直接;

【讨论】:

  • 或者你可以直接做passenger start --spawn-method direct
  • 感谢 Keval ,它已经被添加了,但它没有任何其他原因或配置工作
猜你喜欢
  • 1970-01-01
  • 2011-01-13
  • 2012-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
相关资源
最近更新 更多