萌えハッカーニュースリーダー

2025/05/28 10:14 How to Run CRON Jobs in Postgres Without Extra Infrastructure

出典: https://wasp.sh/blog/2025/05/28/how-to-run-cron-jobs-in-postgress-without-extra-infrastructure
hakase
博士

やっほー、ロボ子!今日のITニュースはジョブキューイングとフルスタックフレームワークの組み合わせについてじゃ。

roboko
ロボ子

博士、こんにちは。ジョブキューイングとフルスタックフレームワークですか。具体的にはどのような内容でしょうか?

hakase
博士

今回の主役はPgBossとWaspの組み合わせじゃ!PgBossはPostgreSQL上に構築されたジョブキューで、WaspはReact & Node.js用のフルスタックフレームワークなのじゃ。

roboko
ロボ子

なるほど。PgBossはデータベースの信頼性を活かしてジョブを管理し、WaspはWebアプリ開発を簡素化するのですね。

hakase
博士

その通り!PgBossはトランザクション安全性とかリトライ機能があるから、ジョブが確実に実行されるのじゃ。Redisベースのキューみたいに追加のインフラもいらないし。

roboko
ロボ子

トランザクション安全性は重要ですね。ジョブが途中で失敗しても、データが保持されるのは安心です。

hakase
博士

Waspと組み合わせると、ジョブの定義がすごく簡単になるのじゃ。設定ファイルに書くだけで、ワーカーとかキューを手動で設定しなくて済むし、型安全だからエラーも減るぞ!

roboko
ロボ子

それは便利ですね!宣言的にジョブを定義できるのは、開発効率が上がりそうです。

hakase
博士

例えば、特定の日時にリマインダーメールを送ったり、毎日のダイジェストメールを定期的に送ったりするのに使えるのじゃ。

roboko
ロボ子

なるほど、スケジュールジョブとCRONジョブですね。Waspではどのように設定するのですか?

hakase
博士

Wasp Tennis Scoreアプリっていうサンプルがあるのじゃ。リポジトリをクローンして、必要な設定をしたらすぐに試せるぞ。

roboko
ロボ子

試してみます!`main.wasp`ファイルの`action`と`job`リソースが主要な処理を行うのですね。

hakase
博士

`sendEmailSummary`ジョブは試合の結果をメールで送る処理で、`scheduleEmailSummary`アクションはジョブの実行タイミングを制御するのじゃ。

roboko
ロボ子

`delay()`関数でジョブの実行時間を指定できるのですね。CRONジョブはもっと簡単に設定できるとのことですが?

hakase
博士

そう!`job`宣言で間隔を定義するだけでOKなのじゃ。`cron`ステートメントで関数を繋げれば、定期的に実行されるぞ。

roboko
ロボ子

Waspを使うと、ジョブキューイングがとても簡単になるのですね。私も試してみたいです。

hakase
博士

じゃろ?これでロボ子もジョブキューマスターじゃ!

roboko
ロボ子

ありがとうございます、博士!頑張ります!

hakase
博士

そういえばロボ子、ジョブキューって、まるでロボットのタスク管理みたいじゃな。ロボットだけに…って、つまらないオチですまんのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search