Package Exports
- serverless-local-schedule
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-local-schedule) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Serverless Local Schedule
This plugin allows you to specify a timezone on your lambdas triggered by AWS CloudWatch Events.
To install:
sls plugin install -n serverless-local-schedule
For example:
functions:
hello:
handler: handler.hello
events:
- schedule:
rate: cron(0 10 * * ? *)
timezone: America/New_York
It works by converting that into 6 different schedules, effectively the same as having the following configuration:
functions:
hello:
handler: handler.hello
events:
- schedule:
rate: cron(0 15 * 1-2,12 ? *) # full non-DST months
- schedule:
rate: cron(0 15 1-10 3 ? *) # non-DST portion of March
- schedule:
rate: cron(0 14 11-31 3 ? *) # DST portion of March
- schedule:
rate: cron(0 14 * 4-10 ? *) # full DST months
- schedule:
rate: cron(0 14 1-3 11 ? *) # DST portion of November
- schedule:
rate: cron(0 15 4-31 11 ? *) # non-DST portion of November
NOTE: The - schedule: cron(* * * * ? *)
short syntax isn't supported.
NOTE: Unfortunately you cannot specify day of the week in the cron expression i.e. cron(0 7 ? * MON-FRI *)
. This is because to support the split months (March & November in the US), the plugin has to specify a day of month (EG: November 1-3 in 2018), so you cannot specify a DOW other than ?
unfortunately. Recommended workaround for this is to move the day of week check into your code so it's just a no-op on non weekdays for instance.