This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
serverless-local-schedule with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
This plugin allows you to specify a timezone on your lambdas triggered by AWS CloudWatch Events.
sls plugin install -n serverless-local-schedule
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
- 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.