どうも、かっぱ@inokara) です。

基本的なこと

ドキュメント

Supervisor: A Process Control System

挙動

  • 指定したプログラムを叩き起こす(落ちてたら叩き起こす)
  • 指定したプログラムが落ちてたら叩き起こす(どうしても落とせないデーモンプログラムを監視させておく)

スクリプトのリトライ

  • startretries で制御
  • デフォルトは 3 回
  • stratretries の回数実行してエラーとなる場合には FATAL なステータスとなる
hoge                             FATAL     Exited too quickly (process log may have details)

上記は supervisorctrl status の実行結果。

気付いたこと、チップス

一瞬で終わってしまうようなスクリプトを監視させたい場合

困ったこと
  • startsecs がデフォ 1 秒
  • 1 秒以内でスクリプトが終了してしまう場合にはエラーと判断される
対処
  • loop させてスクリプト自体を常駐させる(スクリプトがバグったりしてメモリリークとか発生することが懸念される)
  • sleep を入れてスクリプトの終了を 1 秒以上にする
  • 他にもありそうなので気づいたら書く

気づいたら…

  • 追記していきます

元記事は、こちらです。