Cronic gem を使用して、Rails アプリでジョブをスケジュールしています。
アプリを再デプロイするたびに、コマンド「script/cronic -k -P tmp/pids/cronic.pid」を使用して Cronic ジョブを停止しています。
私の質問は、Cronic ジョブが現在実行されている場合、自動的に強制終了されるのでしょうか? それとも、Cronic プロセス全体が停止する前に、ジョブが停止するのを待ちますか?
Cronic gem を使用して、Rails アプリでジョブをスケジュールしています。
アプリを再デプロイするたびに、コマンド「script/cronic -k -P tmp/pids/cronic.pid」を使用して Cronic ジョブを停止しています。
私の質問は、Cronic ジョブが現在実行されている場合、自動的に強制終了されるのでしょうか? それとも、Cronic プロセス全体が停止する前に、ジョブが停止するのを待ちますか?
言うのは難しいですが、https://github.com/bazaarlabs/dante/blob/master/lib/dante/runner.rb#L211は、Dante (クロニックがデーモン化を処理するために使用する) が Process.kill を送信することを示しているようです。 ("TERM") を PID に送信します。
cronjob プロセスは処理が完了するまで待機する必要があると思いますが、実装に依存します。私があなたなら、自分で試してみます。一定時間だけスリープするジョブを作成し、UNIX 端末経由で kill (-9 を設定しないでください) を送信し、すぐに終了するかどうかを確認します。