2012-05-17 76 views
0

我想要做一些簡單的創業板魯弗斯調度: https://github.com/jmettraux/rufus-scheduler魯弗斯計劃沒有運行

,但是,我不能得到它的工作。

我有一個普通的導軌應用程序。我創建了一個名爲.rb文件:

# test_rufus_scheduler.rb 
require 'rubygems' 
require 'rufus/scheduler' 

scheduler = Rufus::Scheduler.start_new 

scheduler.in '1s' do 
    puts "hello world" 
end 

然後,當我嘗試紅寶石test_rufus_scheduler.rb,什麼都不會發生。我做對了嗎?寶石列表顯示rufus調度程序。

謝謝。

回答

2

如果你的腳本退出馬上請儘量在末尾添加

scheduler.join

。請注意,單獨運行腳本和通過導軌運行時,情況會有所不同。有關詳細信息,請參見README

1

以下行添加到您的Apache2配置和重新啓動的Apache2服務器

RailsAppSpawnerIdleTime 0 
PassengerMinInstances 1 
1

發現這個here的解決方案(也就是同步以上Ajet's答案)。

生產服務器需要一些額外的設置。在大多數生產Web服務器上,空閒的Ruby進程被終止。爲了Rufus的工作,你需要阻止這種情況發生。對於Passenger/Nginx,您可以將以下代碼複製到您的網站的nginx.conf配置文件中,該行文字後面有passenger_enabled;

nginx.conf:

passenger_spawn_method direct; 
passenger_min_instances 1; 
passenger_pool_idle_time 0; 
+0

我使用亞馬遜的Linux AMI作爲我的EC2服務器。在遠程服務器時,我沒有看到nginx.conf文件。我有一個乘客文件/etc/init.d/passenger。我是否修改這個文件?我將在哪裏添加您在解決方案中列出的信息? – user2974739