3.9.1. Scheduled Job Number of Executions

In this chapter, you'll learn how to set a limit on the number of times a scheduled job is executed.

Default Number of Scheduled Job Executions#

By default, a scheduled job is executed whenever it matches its specified pattern. For example, if you set a scheduled job to run every five minutes, it will run every five minutes until you stop the Medusa application.


Configure Number of Scheduled Job Executions#

To execute a scheduled job a specific number of times only, you can configure it with the numberOfExecutions option. Its value is the number of times the scheduled job can be executed during the Medusa application's runtime.

For example:

Code
1export default async function myCustomJob() {2  console.log("I'll be executed only three times.")3}4
5export const config = {6  name: "hello-world",7  // execute every minute8  schedule: "* * * * *",9  numberOfExecutions: 3,10}

The above scheduled job has the numberOfExecutions configuration set to 3.

So, Medusa will execute this job only 3 times, once every minute, and then it won't be executed anymore during the current runtime.

Configuration is Per Application Runtime#

Medusa tracks the number of executions for a scheduled job during its current runtime. Once the application stops, the next time you start it, the counter will be reset to 0.

So, if you restart the Medusa application, the scheduled job will be executed again until it reaches the number of executions specified.

Was this chapter helpful?
Ask Anything
FAQ
What is Medusa?
How can I create a module?
How can I create a data model?
How do I create a workflow?
How can I extend a data model in the Product Module?
Recipes
How do I build a marketplace with Medusa?
How do I build digital products with Medusa?
How do I build subscription-based purchases with Medusa?
What other recipes are available in the Medusa documentation?
Chat is cleared on refresh
Line break