2012-05-17 46 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