Timer that invokes a Cloud Functions function
Timer is a trigger that calls a Cloud Functions function on a schedule. The schedule is set as a cron expression. The cron expression uses UTC+0
A timer needs a service account to invoke a function.
For more information about creating a timer, see Creating a timer that invokes Cloud Functions.
Cron expression format
The fields in a cron expression are ordered as follows: Minutes Hours Day-of-month Month Day-of-week Year.
Possible field values
Note
Special characters, as well as months and days of the week, are case-insensitive: MON is the same as mon.
| Field name |
Required field |
Acceptable values |
Supported special characters |
|---|---|---|---|
Minutes |
Yes | 0-59 | ,, -, *, / |
Hours |
Yes | 0-23 | ,, -, *, / |
Day of month |
Yes | 1-31 | ,, -, *, ?, /, L, W |
Month |
Yes | 1-12, JAN-DEC |
,, -, *, / |
Day of week |
Yes | 1-7, SUN-SAT |
,, -, *, ?, /, L, # |
Year |
No | Empty, 1970-2099 | ,, -, *, / |
Special characters
You can use the following special characters in cron expressions:
-
*: Selects all values in the field.*in theMinutesfield: Trigger firesevery minute. -
?: Selects any field value. You cannot specifyDay of monthandDay of weekat the same time. If you have entered a value in one of these fields, put?in the other one.10inDay of monthand?inDay of week: Trigger fires on the 10th day of each month. -
-: Selects a range of values.10-12inHours: Trigger fires at 10 a.m., 11 a.m., and 12 p.m. -
,: Selects multiple values.MON,WED,FRIinDay of week: Trigger fires on Monday, Wednesday, and Friday. -
/: Increments the value.0/15inMinutes: Trigger fires at 0, 15, 30, and 45 minutes past each hour. -
L: This character has different meanings in the two fields it is valid for:- In the
Day of monthfield, it means the last day of the month. - In the
Day of weekfield, it means the last day of the week,7(Saturday,SAT).
LinDay of month: Trigger fires on January 31, February 28, and so on. - In the
-
W: Selects the weekday nearest to the specified date.15WinDay of month: Trigger fires on the weekday nearest to the 15th day of the month. If the 15th day falls on Saturday, the trigger fires on Friday the 14th.Note
LandWin theDay of monthfield can also merge into theLWcombination, firing the trigger on the last weekday of the month. -
#: Selects the Nth day of the month.6#3inDay of week: Trigger will fire on the third Friday of the month (6 for Friday; 3 for third Friday of the month).
Examples of cron expressions
| Cron expression | Description |
|---|---|
* * * * ? * |
The trigger fires every minute. |
0 * ? * * * |
The trigger fires every hour. |
15 10 ? * * * |
The trigger fires every day at 10:15. |
Roles required for timers to run correctly
- To create a timer, you need a permission for the service account under which the timer runs the operation. This permission comes with the iam.serviceAccounts.user and editor roles or higher.
- To run a timer, the service account needs the
functions.functionInvokerrole for the folder containing the function called by the timer.
Read more about access management.
Timer message format
After the trigger is activated, it sends the following message to the function:
{
"messages": [
{
"event_metadata": {
"event_id": "a1s41g2n5g0o********",
"event_type": "yandex.cloud.events.serverless.triggers.TimerMessage",
"created_at": "2019-12-04T12:05:14.227761Z",
"cloud_id": "b1gvlrnlei4l********",
"folder_id": "b1g88tflru0e********"
},
"details": {
"trigger_id": "a1sfe084v4se********",
"payload": "payload-message"
}
}
]
}
Use cases
- Yandex Tracker: data export and visualization
- Monitoring the status of geographically distributed devices
- Scheduled instance group scaling with the management console, CLI, and API
- Sensor reading monitoring and event notifications
- Deploying a fault-tolerant architecture with preemptible VMs
- Running scheduled computations in DataSphere