3

EventMachine を使用して Ruby で単純な UDP サーバーを作成しました。Linuxボックスで常に実行したいと思います。システムサービスとして、または起動時に起動し、実行を維持し、監視できる他の形式でラップする方法に関する提案はありますか?

4

4 に答える 4

2

Linux を使用しているため、daemons gemを使用できます

http://daemons.rubyforge.org/

http://railscasts.com/episodes/129-custom-daemon

于 2010-12-24T09:44:56.633 に答える
1

EventMachine の上に構築された Thin Web サーバーは、デーモンgem使用します: https://github.com/macournoyer/thin/blob/master/lib/thin/daemonizing.rb

実行を維持するには、プロセスが実行されていることを確認するか、実行されていない場合は再起動するか、システム リソースを使いすぎた場合に再起動するか、その他の考えられる条件の無限の配列を確認するように構成できるMonitを使用します。

于 2010-12-24T10:44:47.100 に答える
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 に答える
0

[@restart][1] で Cron を使用します。正常に動作するデーモンは、再実行する前に既に実行されているかどうかを確認する必要があります。

[1]: https://help.ubuntu.com/community/CronHowto#Advanced Crontab

于 2010-12-24T06:01:15.703 に答える