より多くのオプションが提供されるため、supervisord の代わりに monit を使用して laravel-websocket を監視しようとしています。
#!/bin/bash
case $1 in
start)
echo $$ > /var/run/laravelwebsocket.pid;
exec 2>&1 php /home/rabter/core/artisan websockets:serve 1>/tmp/laravelwebsocket.out
;;
stop)
kill `cat /var/run/laravelwebsocket.pid` ;;
*)
echo "usage: laravelwebsocket.sh {start|stop}" ;;
esac
exit 0
そして、etc/monit.d で cwp.laravelwebsocket という名前のファイルをコードで作成しました
check process laravelwebsocket with pidfile /var/run/laravelwebsocket.pid
start program "/bin/bash -c /home/rabter/laravelwebsocket.sh start"
stop program "/bin/bash -c /home/rabter/laravelwebsocket.sh stop"
if failed port 6001 then restart
if 4 restarts within 8 cycles then timeout
残念ながら、monit を実行するとすべてが monitord を取得し始めますが、laravel websocket は開始されず、一度も開始されず、monit テーブルの前に表示
Process - laravelwebsocket Execution failed | Does not exist
されます。monit モニターを作成し、起動時および失敗時、エラーまたはクラッシュ時に laravel-websocket を開始するにはどうすればよいですか?
Monitor a Laravel Queue Worker with Monit を調べました が、うまくいきません!