嗯,标题说明了一切。我有一个 ruby 脚本,我想在我的 Linux 机器上作为一项服务(我可以启动和停止)运行。我找到了如何在 Windows 上执行此操作here https://stackoverflow.com/questions/163497/running-a-ruby-program-as-a-windows-service
一些读物指向创建守护进程或 cron 任务。
我只需要一些简单的东西,我可以在我的盒子重新启动时调用,并且可以随时停止/启动。我的脚本有一个内部睡眠调用,并在“永恒循环”中运行
提前致谢
实际上,我已经找到了一种更好的方法,即使用 ruby 脚本来实现这一点。
我就是这样做的:
首先,我安装了守护进程
gem install daemons
然后我做了:
require 'rubygems'
require 'daemons'
pwd = File.dirname(File.expand_path(__FILE__))
file = pwd + '/runner.rb'
Daemons.run_proc(
'my_project', # name of daemon
:log_output => true
) do
exec "ruby #{file}"
end
然后,我创建一个名为 runner.rb 的文件,在其中我可以调用我的脚本,例如:
require "/var/www/rails/my_project/config/environment"
Post.send('details....')
Daemons 是一个很棒的宝石!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)