2017-02-13 20 views
0

У меня есть приложение Rails, работающее на Nginx/Passenger. Он выполняет задание rphus-scheduler cron, которое работает в фоновом режиме и отправляет уведомления по электронной почте.Rufus Scheduler не работает в производстве Nginx/Passenger

Когда я запускаю приложение в производстве на Nginx/Passenger, электронные письма не отправляются. В журналах производства он не показывает никаких журналов для rufus-scheduler.

Я застрял в этой проблеме. Не удалось отладить планировщик.

Но после прочтения некоторых выпусков & статей, я уверен, что поток планировщика убит при производстве пассажиром.

Фрагмент кода:

Пример:
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, которые позволяют планировщик потоков запускать & триггер почт.

+0

см этот http://stackoverflow.com/questions/27980050/rufus-scheduler-not-running-in-production –

+0

дубликаты https://github.com/jmettraux/rufus-scheduler/issues/235 – jmettraux

+0

Если вы не добавляйте больше подробностей к вашему вопросу (например, ваша конфигурация вашего пассажира), тогда никто не сможет вам помочь. – jmettraux

ответ

1

Вы должны установить это в конфигурации блока пассажирского

passenger_spawn_method прямой;

+0

Или вы можете сделать это непосредственно для запуска пассажира --spawn-method direct –

+0

Спасибо Keval, он уже добавлен, но он не работает по какой-либо другой причине или конфигурации –