GitHub Actionsジョブの最大実行時間
私はブログ記事の翻訳を自動化するためにGitHub Actionsを使用しています。最初は、すべての投稿を1つのジョブで翻訳し、すべての翻訳が完了した後に変更をリポジトリにコミットしようと試みました。
私は楽観的で、プロセスが完了することを期待して眠りにつきました。しかし、8時間後、目を覚ますと次のエラーが発生していました:
GitHub Actions 12のランナーで実行されているジョブが、360分の最大実行時間を超えました。
これは、6時間の翻訳作業が失われたことを意味します。なぜなら、コミットは最後にしか行われなかったからです。
この問題に対処するために、ワークフローを変更し、10ファイルごとに変更をコミットするようにしました。
さらに、マルチスレッドプログラミングを実装して、総翻訳時間を6時間から約1時間に短縮しました。
GitHub Actionsは非常に柔軟性があります。複数のワークフロージョブをサポートしており、タスクを分離することができます。一部のジョブは各コミットでトリガーされ、他のジョブは異なるイベントでトリガーされることができます。