Lesson 3: Types of Alarm Feed
In addition to the /whisk.system/alarms/interval feed in Lesson 2, the alarms provider in Adobe I/O Runtime supports other types of feeds.
Firing a trigger once
The /whisk.system/alarms/once feed allows you to fire an event once at a specific time. The only required parameter is date, indicating when to fire the trigger. Optional parameters are trigger_payload and deleteAfterFire.
triggers:
runMeOnce:
feed: /whisk.system/alarms/once
inputs:
date: YYYY-MM-DDTHH:mm:ss.sssZ
deleteAfterFire: true
Note that YYYY-MM-DDTHH:mm:ss.sssZ is just a format for this field; you are free to update it with the date and time you want.
Firing a trigger on a time-based schedule using cron
The /whisk.system/alarms/alarm feed allows you to fire an event on a time-based schedule using cron. This is more generic than the interval and once feeds, because you can write crontab to configure the alarm service to trigger at the exact time and interval you want. The only required parameter is cron, a string based on the UNIX crontab syntax that indicates when to fire the trigger in UTC. Optional params are trigger_payload, startDate and stopDate.
data-variant=warning
data-slots=text
timezone parameter is listed in the upstream OpenWhisk alarms documentation, it is ignored in Adobe I/O Runtime. Write your cron expressions in UTC. The startDate and stopDate parameters must use ISO-8601 format. You can use UTC ("2027-01-01T00:00:00.000Z") or include a timezone offset ("2027-01-01T05:30:00.000+05:30"). Do not use epoch millisecond timestamps — they will cause a deployment error. Both dates must be in the future at the time of deployment.The following example shows a cron schedule that fires at 2:00 AM UTC every Sunday, starting January 1, 2027:
triggers:
sunday2amUTC:
feed: /whisk.system/alarms/alarm
inputs:
cron: "0 2 * * 0"
startDate: "2027-01-01T00:00:00.000Z"
stopDate: "2028-01-01T00:00:00.000Z"