本記事の概要
私の研究開発の実績を一覧にするサイトのデータ更新ジョブを、デスクトップ版のClaude Codeの定時タスクで31日動かした。実行は28回で、実行の履歴でsucceededと記録された19回のうち5回は、ジョブが途中で止まっていた。この5回は、statusとデータのコミットを並べて見つけた。
許可のモードは、コマンドを実行する前に確認を出すかどうかを決める設定である。このモードがdefaultだった実行は登録の日の2回だけで、予定の時刻に起動した実行は全部autoだった。autoでは、バックグラウンドの分類器が、実行する前にコマンドを判定する。そのため、予定の実行が確認で止まらなかった理由は、確認なしで実行できるコマンドの一覧だけでは説明できない。
最初の実行はdefaultのモードで動き、最初のBashの呼び出しの後に中断の記録が残っていたが、statusはsucceededだった。確認を待ったまま中断されなかった実行がどのstatusになるかは、28回の記録からは分からない。だれが中断したかと、実行が無い4日の原因は、確認できていない。
記事から得られること
定時タスクでジョブを運用する開発者は、この記事から次の4つを得られる。
- 実行の履歴のstatusとジョブの成果物を並べて、statusに現れないジョブの停止を見つけられる。
- 定時タスクが実行するコマンドを1つのスクリプトにまとめ、手順と止まる条件と終了コードをそこに書ける。
- 許可の一覧の効果を確かめる前に、
permissionModeで、その実行が動いたモードを確認できる。 - 通知を設計するときに、ジョブの中に書いた通知が届かなかった3つの場合を確認できる。
この記事の根拠は、1つのジョブのコミットの記録、コード、実行の履歴、セッションの記録と、公式文書である。
ここから先は有料部分です
この記事は購読特典で、購読中の方が読めます。
有料部分はおよそ6,100字で、読み終える目安は12分です。
価格は税込みです。購入と購読は、ログインしてから進みます。購入した記事は、アカウントでいつでも読み返せます。購読中の方と購入済みの方はログインして全文を読むページへ、プランの説明はプランのページへどうぞ。
販売の対象地域は利用規約に記載しています。請求はすべて日本円で行います。