「リスポーンが速すぎる、停止」。UPSTARTを5分間無効にする方法は?


11

昔は、initデーモンは、再生成が速すぎるタスクを無効にするために使用されていました。

UPSTARTがそれらを停止するだけであることが危険に気づきました。永遠に。

高速で再生成されるジョブを停止するタイミングのCOUNTおよびINTERVALコントロールを見つけましたが、指定された待機時間後にそのジョブを再起動する方法を見つけることができません。

  • これは、リモートサーバーがトンネルに戻るためにssh経由で接続する必要があるためです。しかし、定期的に接続の問題があり、ssh接続を実行するジョブは死にかけています!私は愚かなことに、ジョブを実行し続けるための新興企業を期​​待していました。

方法はありますか、またはcronジョブを実行して実行中かどうかを確認し、再起動しない場合は実行する必要がありますか?

回答:


10

Upstartは、ジョブの再起動を遅らせるために、ポストストップスリープを許可します。http://upstart.ubuntu.com/cookbook/#delay-respawn-of-a-jobから

post-stop exec sleep 5

ジョブが失敗すると、5秒待ってから再度接続を試みます。それと30秒で10回のようにリスポーンを設定し、永遠にリスポーンしようとする必要があります(30秒で7回しか試さないので、リスポーンから追い出されることはありません)


はい、それは私が思うに良い回避策です。ただし、upstartには、ジョブを再度実行する前に待機時間を指定できる可能性があるはずです。仕事を止めるだけのアイデアは本当に好きではありません。5分間、ジョブを無効にするinitの方法がずっと好きでした。
キース

あなたが話しているユースケースはかなり低いと思います。ジョブが失敗した場合、その理由があるため、修正する必要があります。ほとんどの人は、貴重な情報を含むログを消去したり、他の壊滅的な結果をもたらしたりする可能性があるため、ジョブの開始と失敗の試行を続けたくないでしょう。upstartを設計されていないものに使用していると思うので、再起動する標準的な方法は問題外かもしれません。とはいえ、接続が切断されると、そのマシンのネットワーク接続は再接続を試行しますか?その場合、ネットワークの開始時にジョブを開始できる場合があります。
tgm4883

1
これは「ほとんどの人」のケースとはほど遠いことは間違いないでしょう。過去20年間、私はスラックウェアとカスタムビルドシステムをハッキングしてきたので、これらの概念の多くは私にとって異質です。Ubuntuネットワークの起動/再起動をカスタマイズする正しい方向を教えていただけますか?神はこれは私が古いと触れて感じさせます。10秒でSlackwareで実行できました。
キース

1
これはクックブックで説明されています。彼らはポストストップスタンザの使用を推奨しています:upstart.ubuntu.com/cookbook/#id379
jcomeau_ictx

1
@jcomeau_ictxのおかげで、まさにそれです。答えは、それへのリンクで更新されるべきだと思いますupstart.ubuntu.com/cookbook/#delay-respawn-of-a-job。また、キース要求のために受け入れられたチケットとパッチがありますbugs.launchpad.net/upstart/+bug/252997再試行する前に、復活の待ち時間とは。
アンドレミラス14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.