我使用 EventMachine 在 Ruby 中编写了一个简单的 UDP 服务器。我想让它始终在我的 Linux 机器上运行。关于如何将其包装为系统服务或以启动时启动、保持运行、可以监控的其他形式的建议?
问问题
2407 次
4 回答
2
当你在 linux 上时,你可以使用daemons gem
于 2010-12-24T09:44:56.633 回答
1
建立在 EventMachine 之上的瘦网络服务器使用守护进程 gem:https ://github.com/macournoyer/thin/blob/master/lib/thin/daemonizing.rb
为了让它保持运行,请使用Monit,它可以配置为检查进程是否正在运行,如果没有,则重新启动它,或者如果它开始使用过多的系统资源或其他可能的情况,则重新启动。
于 2010-12-24T10:44:47.100 回答
0
我会将 Cron 与 [@restart][1] 一起使用。一个表现良好的守护进程应该在再次运行之前检查它是否已经运行。
[1]:https : //help.ubuntu.com/community/CronHowto#Advanced Crontab
于 2010-12-24T06:01:15.703 回答
0
所有这些答案都已过时。Ruby有完美的Process.daemon
方法:http ://www.ruby-doc.org/core-2.1.0/Process.html#method-c-daemon
只需Process.daemon
在您的应用程序之前添加EM.run
,一切都应该工作。
于 2014-03-25T17:44:28.157 回答