Find out how to set up Netlify Scheduled Functions
Netlify Scheduled Functions allow us to do some interesting things.
Here’s how to set them up.
Create a serverless function in netlify/functions
in your repository, for example test.js
:
netlify/functions/test.js
exports.handler = (event, context) => {
//do something
return { statusCode: 200 }
}
Then in netlify.toml
(create this file if you don’t have it yet) configure how frequently you want this Netlify Scheduled Function to run:
[functions."test"]
schedule = "@hourly"
Alternatively you can set this in the function itself, with no need for this entry:
const handler = (event, context) => {
//do something
return { statusCode: 200 }
}
exports.handler = schedule('@hourly', handler)
@hourly
runs every hour at minute 0
@daily
runs every day at 00:00
@weekly
runs every Sunday at 00:00
@monthly
and @yearly
are available too.
You can also use a cron expression, like 5 4 * * *
or any other expression (crontab guru is your friend)
You can also invoke a function manually using netlify functions:invoke test
where test
is the name of the function.
You can use Netlify Scheduled Functions for many different use cases.
I set a Netlify Scheduled Function to auto-deploy the repository every day to post a schedule blog post, for which I set the publishing date in advance.
I use the Fetch API to call the deploy webhook so I can do automatic deploys on Netlify.