我正在制作一个定期运行的脚本,使用rufus调度器在rails应用程序中生成一些代码(我专门将其与守护进程一起用于生产服务器)。但它根本不起作用,因为它终止并终止了进程。
这是我的脚本/rufus_schedule文件
#!/usr/bin/env ruby
root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'rubygems'
require 'rufus/scheduler'
gem 'daemons'
require 'daemons'
options = {
:dir_mode => :normal,
:dir => File.join(root,'log'),
:log_output => true,
:backtrace => true,
:multiple => false
}
Daemons.run_proc("rufus_schedule", options) do
scheduler = Rufus::Scheduler.start_new
scheduler.every '10s' do
BloodDonationUtil.clear_requests_after(7)
end
end
我不知道你所说的"杀死进程"是什么意思,我猜你的意思是"它立即退出"。
请阅读:https://github.com/jmettraux/rufus-scheduler#schedulerjoin
在脚本末尾添加:
scheduler.join