0

Windows タスク スケジューラを使用して、完全に正常に動作する php スクリプトを起動します。基本的C:\php.exe -f C:\myscript.php

私のスクリプトでは、5 分後にもう一度タスク スクリプトを実行したくなる作業が発生します。

タスクが失敗した場合に5分ごとに再起動するようにタスクの設定を変更し、phpコードを作成することで、これを実装しようとしましたexit(1)。タスク スケジューラは、エラー コード 1 で終了したことを認識しているようですが、スクリプトを再度実行することはありません。

コードから何らかの方法でシグナルを送った場合、タスクマネージャーが5分以内に再試行するように、私ができることを誰かが知っていますか?

4

1 に答える 1

2

フレーズどおりの質問への回答ではありませんが、機能させることができない場合のフォールバックとして役立つ可能性があります。ジョブを5分ごとに実行し、「最後の成功」/「最後の失敗」を自分で追跡します。データベースまたはファイル。

他のことを行う前に、スクリプトはログに記録されたステータスを確認できます。前回失敗した場合は、再試行します(おそらく、限られた回数まで)。前回成功した場合は、とにかく次の仕事の時間でない限り、すぐに終了します(たとえば、元のスケジュールが毎日だった場合は、$last_success24時間より前であることを確認します)。

于 2013-03-20T23:41:22.527 に答える