2017-02-13 69 views
0

我有一個運行在Nginx/Passenger上的Rails應用程序。它有一個rufus-scheduler cron作業,在後臺運行並通過電子郵件發送通知。Rufus調度器沒有在生產中運行Nginx/Passenger

當我在Nginx/Passenger上開始生產應用程序時,電子郵件不會被髮送。在生產日誌中,它不顯示rufus調度程序的任何日誌。

我被困在這個問題中。無法調試調度程序。

但是在閱讀了一些問題&文章後,我確信調度程序線程會被乘客殺死。

代碼片段:

例子:

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 

請幫我在CONF爲乘客/ 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

您需要在passanger配置塊中設置此項

passenger_spawn_method direct;

+0

或者你可以直接乘客啓動--spawn-method direct –

+0

感謝Keval,它已經被添加了,但它仍然沒有任何其他原因或配置 –