Cloud Run Jobsとはなにか?そして何がいいのか?
詳しくはこちら
ただ、実際に見てみないことにはわからない。
やってみる。
デプロイするまで
作ったコマンド
public function handle()
{
try {
$this->output->info('Start run command ...');
DB::beginTransaction();
User::factory()->createOne();
DB::commit();
$this->output->success('Command complete');
} catch (\Throwable $t) {
DB::rollback();
Log::error($t->getMessage() . 'in' . $t->getFile() . ':' . $t->getLine());
return 1;
}
return 0;
}
ビルド
$ docker buildx build --platform linux/amd64 -t us-central1-docker.pkg.dev/obi-dev-405503/test-batch-repo/batch:latest -f docker/batch/Dockerfile .
コンテナをPush
$ docker push us-central1-docker.pkg.dev/obi-dev-405503/test-batch-repo/batch:latest
今回はコンソールからJobを作る
さっきPushしたイメージからを指定して、
コマンドや、メモリやCPUなどの設定をして完了
定期実行させる
定期実行のジョブを作成
これで定期実行はOK
実行ログ
失敗した場合のログ
成功した場合のログ
まとめ
めっちゃ簡単にバッチ実行ができるし、安い。
10分以内のジョブを1日1回毎日実行するくらいなら無料らしいから、個人開発においてはこれを使いたいな。