我有一个rails服务器运行在nginx和客服下。我的sheduler.rb看起来像这样
require 'rufus-scheduler'
my_awesome_job = Rufus::Scheduler.new
my_awesome_job.cron '59 23 * * *' do
#do something
end如果我把工作设置为接下来的2-3分钟(测试),一切都很好。但是这个,正如我在生产中所需要的,不是每天23:59开始的。我不知道问题出在哪里。
谢谢。
发布于 2015-01-16 10:28:10
最有可能的情况是,在Phusion乘客作为智能产卵方法的一部分生成子进程之后,Rufus调度程序后台线程被终止。
读产卵方法说明。您所遇到的具体问题可能是智能产卵警告#2:需要恢复线程。
您需要使用文档中的机制恢复Rufus调度程序线程。我不太确定您需要调用哪个API,所以也许您可以问Rufus调度程序的作者。
或者,您可以使用“直接”产卵方法。它效率较低,但避免了像这样的兼容性问题。
发布于 2015-01-21 08:27:03
所以,我找到了答案,这里
我在nginx.conf中添加了这两行(在passenger_enabled on;之后):
rails_app_spawner_idle_time 0;
passenger_min_instances 1;这使一个副线程处于活动状态。
https://stackoverflow.com/questions/27980050
复制相似问题