安排 Supabase Dart 边缘函数每天午夜运行?

Schedule Supabase Dart edge function to run at midnight every day?

提问人:user2868835 提问时间:11/14/2023 更新时间:11/22/2023 访问量:29

问:

关于DART中Supabase边缘函数的几个问题...

a). 每天半夜上班

我想每天午夜执行一项作业,以执行各种日终数据汇总和快照任务。这可以设置为DART边缘功能吗?如果是这样,我将如何安排?(将这些作为边缘功能的另一个原因是,我可能希望通过网络呼叫按需启动“日终”流程)。

b). 在现有的客户端 Flutter 项目中创建边缘项目?

我可以在现有的 Flutter 项目中创建一个新的边缘项目和一个子文件夹吗?这是因为我想重用 Flutter 项目中已经定义的数据模型类。

飞镖 supabase supabase-flutter

评论

0赞 dshukertjr 11/22/2023
在 StackOverflow 中,每个帖子只能问一个问题。你能把你的问题分成两个单独的帖子吗?

答:

0赞 dshukertjr 11/22/2023 #1

您可以在 Supabase 中使用 pg_cron 和 pg_net 设置 cron 作业。

在 Supabase 仪表板中启用扩展后,您可以运行类似这样的查询来设置 cron 作业。

select
  cron.schedule(
    'invoke-function-every-minute',
    '0 0 * * *', -- every minute
    $$
    select
      net.http_post(
          url:='https://project-ref.supabase.co/functions/v1/function-name',
          headers:='{"Content-Type": "application/json", "Authorization": "Bearer YOUR_ANON_KEY"}'::jsonb,
          body:=concat('{"time": "', now(), '"}')::jsonb
      ) as request_id;
    $$
  );

有关更多详细信息,您可以按照官方指南进行操作:https://supabase.com/docs/guides/database/extensions/pg_cron