rufus调度程序不在生产中运行

我有一个轨道服务器运行在nginx&乘客。 我的sheduler.rb看起来像这样

 require 'rufus-scheduler' my_awesome_job = Rufus::Scheduler.new my_awesome_job.cron '59 23 * * *' do #do something end 

一切工作正常,如果我为未来2-3分钟(testing)设置工作。 但是,这个,因为我需要它在生产中,不是每天23:59开始。 我不知道问题在哪里。

谢谢。

最有可能的是,这个问题是由Rufus调度程序后台线程在Phusion Passenger产生一个子进程作为智能产卵方法的一部分之后被终止引起的。

阅读产卵方法解释 。 您正在遭受的具体问题可能是智能产卵警告#2:需要恢复线程 。

您需要使用文档中的机制来恢复Rufus调度程序线程。 我不确定你需要做哪个API调用,所以也许你可以问Rufus调度程序的作者。

或者,您可以使用“直接”产卵方法。 效率不高,但它避免了这样的兼容性问题。

所以,我在这里找到了答案

我在nginx.conf添加了这两行(在passenger_enabled on;之后):

  rails_app_spawner_idle_time 0; passenger_min_instances 1; 

这使一个乘客线程活跃。