10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Supabase Cron & Queues を用いた非同期処理の実装

Last updated at Posted at 2024-12-07

はじめに

先日、Supabaseにpgmqを組み込んで使ってみたという記事を書きました。

この記事を執筆した当時は公式で利用できるQueuing Serviceが入っていなかったのですが、
昨日Supabase Launch Weekにて、Supabase Queuesがリリースされました。

この記事では、実際にこの新機能を活用して非同期処理を実現する手順を紹介します。

今回の構成

Supabase Launch Weekで同様に強化されていたSupabase Cronも併せて利用して、以下の構成でやってみようと思います。

今回作成したサンプルコード

今回試した内容はこちらからご参照ください
https://github.com/ShinnosukeKomiya/supabase-queue

Supabase上の操作

まずはIntegrationsからQueueとCronを有効化します
image.png

image.png

image.png

Queue側の設定

image.png

image.png

最初の設定だとSupabase Clientからpgmqを参照できないので、
Integrations > Queues > Settingsから以下の設定をONにします
image.png

Cronの設定

image.png

毎分send mailを実行する設定
image.png

Edgeを呼び出すには pg_net も有効にする必要があったので有効化
image.png

有効化したので、対象のedge functionを選んで作成完了
image.png

動作確認

画面上からメッセージを送る
image.png

SupabaseのQueue管理画面からメッセージが挿入されたことを確認できる
image.png

無事メールが届いたことを確認できる
image.png

最後に

SupabaseのLaunch Weekで様々な機能が公開されていたので、もっと色々と触ってみようと思います!

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?