2015-01-07 2 views
1

Я использую Rufus Scheduler для вызова функции раз в 2 минуты.Rails - Пассажир и Nginx, препятствующие планированию rufus-scheduler в режиме производства

В режиме разработки при запуске планировщика rufus с WEBrick система работает так, как ожидалось, и моя функция вызывается каждые 2 минуты.

Когда я развертываю на нашем производственном сервере, который управляет пассажиром и NGINX, планировщик больше не вызывает эту функцию.

Я предполагаю, что это связано с потоками, при этом планировщик работает на отдельном потоке, который может быть уничтожен на нашем производственном сервере.

Я видел ответы на подобные вопросы при использовании Passenger и Apache вместе, но я не могу найти решение для запуска планировщика rufus с пассажиром и NGINX в режиме производства.

Любая помощь будет оценена по достоинству.

Код ниже настройки Руфус

# :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: 

ответ

0

Пожалуйста, ознакомьтесь с Руфус-планировщиком FAQ.

https://github.com/jmettraux/rufus-scheduler#faq

Он содержит ссылки на (старые) статьи о Passenger + Руфус-планировщиком

АМОГ них это ТАК ответить на один из авторов Пассажира может помочь:

rufus cron job not working in Apache/Passenger

Хорошо провести время.