【发布时间】:2015-01-07 14:02:44
【问题描述】:
我正在使用 Rufus Scheduler 每 2 分钟调用一次函数。
在开发模式下,使用 WEBrick 运行 rufus 调度程序时,系统按预期工作,我的函数每 2 分钟调用一次。
当我部署到运行乘客和 NGINX 的生产服务器时,调度程序不再调用该函数。
我假设这与线程有关,调度程序运行在一个单独的线程上,该线程可能会在我们的生产服务器上被破坏。
我在同时使用Passenger 和Apache 时看到了类似问题的答案,但我无法想出一个解决方案来在生产模式下运行rufus 调度程序和Passenger 和NGINX。
任何帮助将不胜感激。
下面的代码设置 rufus
# :nocov:
require 'rufus-scheduler'
include TwitterParser
unless ENV['NODAEMON'] || Rails.env != 'production'
scheduler = Rufus::Scheduler.new
TwitterParser.set_up
scheduler.every '2m' do
begin
TwitterParser.parse_tweets
rescue Twitter::Error::TooManyRequests => error
puts 'Too Many Twitter requests, resets in: ' + error.rate_limit.reset_in.to_s
end
end
end
# :nocov:
【问题讨论】:
标签: ruby-on-rails nginx passenger rufus-scheduler