Я написал код, который должен работать как сервер, и завернул его с помощью Daemons как Daemons.run('myserver.rb')
. Когда я запускаю его как ./daemon.rb start
, он работает, но он вообще неинформативен, т. Е. Если myserver.rb
выдает исключение, я даже не знаю, что мой сервер не запустился, демоны выйдут с кодом выхода 0. Есть ли способ сказать демонам вернуться ненулевой код выхода, если завершенный сценарий не запускается? Или, возможно, еще один способ узнать, успешно ли мой сервер?Код запуска/остановки возврата с помощью демонов Ruby gem
3
A
ответ
1
попробовать
d=Daemons.run('myserver.rb')
exit d.applications.length > 0 ? 0 : 1
Не могли бы вы проверить файл PID? – acw
Чудо-то же самое. Это значительно затрудняет работу с инструментами инициализации, такими как Puppet, поскольку они полагаются на коды выхода для выполнения зависимостей. – Patelify