LoginSignup
0
0

supabaseで定期実行する

Last updated at Posted at 2023-12-23

はじめに

やりたかったことは例えば1週間に1回とか、1日に1回など、定期的にDBに処理を加えるファンクションです。

やり方

デフォルトの機能だけでは実現できなかったので、extensionを使います。

extensionを入れる

Databaseから追加したいTabelを選択し、Extensionsタブを開きます。

検索窓があるので、そこにcronと打ち込みます。
pg_cronが出てくるので、右側のトグルボタンをクリックして有効化します。

SQLエディターで定期実行するファンクションを作成する

公式ドキュメントをみて作るんですが
大体以下のような書き方です。

select cron.schedule (
    'hogehoge', -- ジョブの名前です。適当な名前をつけましょう。
    '* * * * *', -- どのタイミングで実現するかをCronの書き方で書きましょう。
    $$ delete from events where hogehoge $$ -- ここに実行したい処理を書きましょう。
);

もし、すでに実行するべきファンクションをすでに作っているのなら以下のような書き方です。

select cron.schedule (
    'hogehoge', -- ジョブの名前です。適当な名前をつけましょう。
    '* * * * *', -- どのタイミングで実現するかをCronの書き方で書きましょう。
    'hugahuga' -- ここに実行したい処理の名前を書きましょう。
);

これだけで定期実行できるはず

0
0
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
0
0