Cron 绑定规范

Cron 绑定组件的详细文档

组件格式

要设置 Cron 绑定,需创建一个类型为 bindings.cron 的组件。请参阅此指南了解如何创建和应用绑定配置。

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
spec:
  type: bindings.cron
  version: v1
  metadata:
  - name: schedule
    value: "@every 15m" # 有效的 cron 调度
  - name: direction
    value: "input"

规范元数据字段

字段必填绑定支持详情示例
scheduleYInput要使用的有效 cron 调度。详见"@every 15m"
directionNInput绑定的方向"input"

调度格式

Dapr Cron 绑定支持以下格式:

字符描述可接受的值
10 到 59,或 *
2分钟0 到 59,或 *
3小时0 到 23,或 *(UTC)
4日期1 到 31,或 *
5月份1 到 12,或 *
6星期0 到 7(其中 0 和 7 代表星期日),或 *

例如:

  • 30 * * * * * - 每 30 秒
  • 0 */15 * * * * - 每 15 分钟
  • 0 30 3-6,20-23 * * * - 在凌晨 3-6 点和晚上 8-11 点范围内,每小时的第 30 分钟
  • CRON_TZ=America/New_York 0 30 04 * * * - 纽约时间每天凌晨 4:30

您可以在此了解更多关于 cron 及其支持格式的信息

为方便使用,Dapr Cron 绑定还支持一些快捷方式:

  • @every 15s,其中 s 表示秒,m 表示分钟,h 表示小时
  • @daily@hourly,从绑定初始化的时间开始按该周期运行

监听 Cron 绑定

设置 Cron 绑定后,您只需监听与组件名称匹配的端点。假设 [NAME] 为 scheduled。这将通过 HTTP POST 请求发起。以下示例展示了一个简单的 Node.js Express 应用如何在 /scheduled 端点上接收调用并向控制台写入消息。

app.post('/scheduled', async function(req, res){
    console.log("scheduled endpoint called", req.body)
    res.status(200).send()
});

运行此代码时,请注意 /scheduled 端点每 15 分钟会被 Dapr 边车调用一次。

绑定支持

此组件支持输入绑定接口。

相关链接