QQ小程序 定時觸發(fā)器

2020-07-09 18:05 更新

如果云函數需要定時 / 定期執(zhí)行,也就是定時觸發(fā),我們可以使用云函數定時觸發(fā)器。配置了定時觸發(fā)器的云函數,會在相應時間點被自動觸發(fā),函數的返回結果不會返回給調用方。 在需要添加觸發(fā)器的云函數目錄下新建文件 config.json,格式如下:

{
  // triggers 字段是觸發(fā)器數組,目前僅支持一個觸發(fā)器,即數組只能填寫一個,不可添加多個
  "triggers": [
    {
      // name: 觸發(fā)器的名字,規(guī)則見下方說明
      "name": "myTrigger",
      // type: 觸發(fā)器類型,目前僅支持 timer (即 定時觸發(fā)器)
      "type": "timer",
      // config: 觸發(fā)器配置,在定時觸發(fā)器下,config 格式為 cron 表達式,規(guī)則見下方說明
      "config": "0 0 2 1 * * *"
    }
  ]
}

字段規(guī)則:

  • 定時觸發(fā)器名稱 (name):最大支持 60 個字符,支持 a-z, A-Z, 0-9, - 和 _。必須以字母開頭,且一個函數下不支持同名的多個定時觸發(fā)器。
  • 定時觸發(fā)器觸發(fā)周期 (config):指定的函數觸發(fā)時間。填寫自定義標準的 cron 表達式來決定何時觸發(fā)函數。有關 cron 表達式的更多信息,請參考下面的內容。

Cron 表達式

Cron 表達式有七個必需字段,按空格分隔。

第一位 第二位 第三位 第四位 第五位 第六位 第七位
分鐘 小時 星期

其中,每個字段都有相應的取值范圍:

字段 通配符
0-59 的整數 , - _ /
分鐘 0-59 的整數 , - _ /
小時 0-23 的整數 , - _ /
1-31 的整數(需要考慮月的天數) , - _ /
1-12 的整數 或 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC , - _ /
星期 0-6 的整數 或 MON,TUE,WED,THU,FRI,SAT,SUN;其中 0 指星期一,1 指星期二,依次類推 , - _ /
1970~2099 的整數 , - * /

通配符

通配符 含義
, (逗號) 代表取用逗號隔開的字符的并集。例如:在“小時”字段中 1,2,3 表示 1 點、2 點和 3 點
- (破折號) 包含指定范圍的所有值。例如:在“日”字段中,1-15 包含指定月份的 1 號到 15 號
* (星號) 表示所有值。在“小時”字段中,* 表示每個小時
/ (正斜杠) 指定增量。在“分鐘”字段中,輸入 1/10 以指定從第一分鐘開始的每隔十分鐘重復。例如,第 11 分鐘、第 21 分鐘和第 31 分鐘,依此類推

注意事項

  • 在 Cron 表達式中的“日”和“星期”字段同時指定值時,兩者為“或”關系,即兩者的條件分別均生效。

示例

下面展示了一些 Cron 表達式和相關含義的示例:

  • /5 * 表示每5秒觸發(fā)一次
  • 0 0 2 1 * 表示在每月的1日的凌晨2點觸發(fā)
  • 0 15 10 MON-FRI * 表示在周一到周五每天上午10:15觸發(fā)
  • 0 0 10,14,16 表示在每天上午10點,下午2點,4點觸發(fā)
  • 0 /30 9-17 * 表示在每天上午9點到下午5點內每半小時觸發(fā)
  • 0 0 12 WED * 表示在每個星期三中午12點觸發(fā)
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號