@serverless/schedule
v2.1.0
Published
![serverless scheduled task aws lambda](https://s3.amazonaws.com/assets.github.serverless/readme-serverless-schedule.png)
Downloads
20
Readme
schedule
Instantly run scheduled cron jobs on AWS Lambda using Serverless Components.
1. Install
$ npm install -g serverless
2. Create
$ mkdir schedule && cd schedule
The directory should look something like this:
|- index.js
|- serverless.yml
|- package.json # optional
|- .env # your AWS api keys
the .env
file should look like this
AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX
The index.js
file should contain your scheduling code. It must export a module named task
:
module.exports.task = async (e, ctx, cb) => {
console.log('running in schedule')
}
3. Configure
All the following inputs are optional. However, they allow you to configure your Lambda compute instance and pass environment variables.
# serverless.yml
mySchedule:
component: "@serverless/schedule"
inputs:
code:
src: ./code # The root folder containing the index.js file
build: build # The folder within your 'src' directory containing your built artifacts
hook: npm run build # A hook to build/test/do anything
handler: foo.bar # optional - specifies handler file & function. eg: foo.js instead of index.js and bar instead of task
runtime: nodejs10.x # default
# you can provide a rate either as rate with
# this format <amount><unit-character> (e.g. 1s, 5m, 2h)
# or a cron expresion
rate: 5m
enabled: true # this is the default value
region: us-east-1
memory: 128
timeout: 10
env:
TABLE_NAME: my-table
4. Deploy
$ serverless
New to Components?
Checkout the Serverless Components repo for more information.