Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

serverless-local-schedule

0.1.6 • Public • Published

Serverless Local Schedule

serverless npm

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.

install

npm i serverless-local-schedule

Downloadsweekly downloads

131

version

0.1.6

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability