我想用gem rufus-scheduler做一些简单的事情: https://github.com/jmettraux/rufus-scheduler
但是,我无法让它发挥作用。
我有一个常规的rails应用程序。我创建了一个.rb文件:
# test_rufus_scheduler.rb
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.in '1s' do
puts "hello world"
end
然后,当我尝试ruby test_rufus_scheduler.rb时,没有任何反应。我做得对吗?宝石列表显示rufus-scheduler。
感谢。
答案 0 :(得分:2)
答案 1 :(得分:2)
找到了这个here的解决方案(也与上面Ajet's的答案同步)。
生产服务器需要一些额外的设置。在大多数生产Web服务器上,空闲的Ruby进程被终止。为了让Rufus工作,你需要阻止这种情况发生。对于Passenger / Nginx,您可以将以下代码复制到您网站的 nginx.conf 配置文件中,该文件位于 passenger_enabled on; 后面。
<强> nginx.conf:强>
passenger_spawn_method direct;
passenger_min_instances 1;
passenger_pool_idle_time 0;
答案 2 :(得分:1)
将以下行添加到apache2配置并重新启动apache2服务器
RailsAppSpawnerIdleTime 0
PassengerMinInstances 1