金高真悟の奇天烈(キテレツ)大百科

日々徒然なるままに

株式会社ニコシスの新入社員が毎日のあれやこれやを語ります。

プロセス再起動したら綺麗さっぱり忘れるのね。。。当たり前か。(´д`ι)

再起動したら設定リセット。。。(゚Д゚;)

こんばんは。
キテレツです。

実行しているプロセスを再起動したら、当然ながら設定リセット。
えぇ、、、当然ながら。

はぃ。
当然ながらです。

しかし、その当然を

( ゚∀゚ )ハァーハッハッ!! 「設計中とかプログラミング中にすっかり忘れている」

というポカをやらかしてしまったキテレツですw

監視プログラムにより再起動

定期的に吐出されるログが吐出されなくなったら再起動。
そんな仕様です。

再起動がかかるまでには、メッセージが特定のメンバーに飛ばされ、危機的な状況を知らせる機能を持っています。

その機能は

(´・ω・)ノ「プロセスが生きている間は有効」

なのですね。
つまり、再起動かけられて復活してしまうと真っ白な状態になるので、再びエラーが発生すればメッセージを送り続けてしまいます。

このメッセージ。
エラーのたびに送り続けられては迷惑なので、予め決められた回数しか送信しないようにしています。
ということはですね、再起動かけられるたびに予め決められた回数がリセットされてしまうんですね。

就業後にエラーが発生し、運悪く連休を挟んで出勤してみたら・・・大量のメッセージログがデスクトップに出現する。

(*゚Д゚*)ェ…

ってなりますよね~。

再起動でリセットされるのは仕方がない。

と考えます。
では、度のタイミングで再起動するのかもう一度考えなければなりません。

再起動のタイミング。。。。

  • ディスクエラー
  • DB接続エラー
  • SQL実行エラー

このエラーは担当者にメッセージを飛ばす必要があります。
ただし、エラーの雰囲気としては連続で発生する可能性があるので、回数制限を設ける必要があります。
最大でも5通までですね。
それ以上はうっとおしい。

つまり、これらのエラーで再起動してはいけないって事ですね。
では、再起動のタイミングって何だ????
再起動しなければいけない状態ってどんな状態だ??

そもそも、WDT的な使い方でリセットをかけるような動作を想定していたわけで、そこについては意図通りに動いています。

なので、、、メッセージ飛ばした数を外部ファイル(XML)に持たせるか??
そうしないと、大量のメッセージが飛ばされるしなぁ。

そのあたりを考えてみよう。

シンプルになって処理が減ったのは良かったものの、考慮するべき内容について対応できてなかったり。
リミットは今週いっぱいです。