Create a Recurring CronAdmin Scope

Note: Ensure you have installed the required package to use this SDK method.

You need to pass the required cron configurations as a JSON object to the createCron() SDK method to create your required recurring cron. The interval of a recurring cron can range anywhere from a minute to entire calendar years. With respect to its schedule type, there are four types of recurring cron: Every, Daily, Monthly, and Yearly.

The jobScheduling reference used in the code snippets below is the component instance created to perform these operations.

Notes:

  • The following SDK is written for a job that will trigger a Job Function. To make the SDK compatible for the other types, you need to replace the value with proper Job Pool ID, or Job Pool Name, and provide the appropriate Target Name, or Target ID.

  • The following SDK is configured to submit a job every two hours, one minute, and three seconds. You can change this value as per your requirement by passing the relevant value to the cron_detail JSON key-value pair.

The following SDK can be used to create a recurring cron that will submit a job to the job pool at a scheduled interval that is less than 24Hrs.

Parameters Used

You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron’s meta that will schedule the submission of the job to the job pool.

The JSON attributes used in these two JSONs are provided in the following table:

JSON Object JSON Attributes Definition
job_meta job_name Mandatory parameter. Contains the name of the job that needs to be submitted to the job pool.
target_type Mandatory parameter. Contains the type of the job. (Function | Circuit | Webhook | AppSail).
target_name or target_id Mandatory parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
jobpool_name or jobpool_id Mandatory parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
job_config
  • Optional parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • number_of_retries: The number of retries that need to be attempted.
  • retry_interval: The interval in which the retries need to occur.
everyCron cron_name Mandatory parameter. To refer to your cron. Ensure you provide a unique name.
description Optional parameter. You can provide a description for your cron.
cron_status Mandatory parameter. Determines if the cron is enabled or not. Ensure it is set as 'true'.
cron_type Mandatory parameter. Determines the type of Cron. The value will need to provided as Periodic to create recurring crons.
cron_detail Mandatory parameter. Provide the following details:
  • hour: To set the hour interval of the repetition.
  • minute: To set the minute interval of the repetition.
  • second: To set the second interval of the repetition.
  • repetition type: Ensure you set value as "every" for an Every type recurring cron.
job_meta Mandatory parameter. Pass the jobMeta JSON object as value.

copy
// create function job meta
const jobMeta = {
  job_name: 'test_job', // set a name for the job
  target_type: 'Function', // set the target type as Function for function jobs
  target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory)
  // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory)
  jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  // jobpool_id: '1234567890', // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  job_config: {
    number_of_retries: 2, // set the number of retries
    retry_interval: 15 * 60 // set the retry interval
  }, // set job config - job retries => 2 retries in 15 mins (optional)
  params: {
    arg1: 'test',
    arg2: 'job'
  } // set params to be passed to target function (optional)
};
// create every cron details
const everyCron = {
  cron_name: 'every_cron', // set a name for the cron (unique)
  description: 'every_cron', // set a description for the cron (optional)
  cron_status: true, // set the cron status as enabled
  cron_type: 'Periodic', // set the cron type as Periodic for every cron
  cron_detail: {
    hour: 2, // set the hour interval of the repetition
    minute: 1, // set the minute interval of the repetition
    second: 3, // set the second interval of the repetition
    repetition_type: 'every' // set the repetition type as every for every cron
  },
  job_meta: jobMeta // set the function job meta
};
// create every cron
const everyCronDetails = await jobScheduling.CRON.createCron(everyCron);

Notes:

  • The following SDK is written for a job that will trigger a Job Function. To make the SDK compatible for the other types, you need to replace the value with proper Job Pool ID, or Job Pool Name, and provide the appropriate Target Name, or Target ID.

  • The following SDK is configured to execute the cron on 0Hr 0Min 0Sec every single day. You can change this value as per your requirement by passing the relevant value to the cron_detail JSON key-value pair.

The following SDK can be used to schedule a cron job that submits a task to the job pool at a fixed daily interval.

Parameters Used

You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron’s meta that will schedule the submission of the job to the job pool.

The JSON attributes used in these two JSONs are provided in the following table:

JSON Object JSON Attributes Definition
job_meta job_name Mandatory parameter. Contains the name of the job that needs to be submitted to the job pool.
target_type Mandatory parameter. Contains the type of the job. (Function | Circuit | Webhook | AppSail).
target_name or target_id Mandatory parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
jobpool_name or jobpool_id Mandatory parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
job_config
  • Optional parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • number_of_retries: The number of retries that need to be attempted.
  • retry_interval: The interval in which the retries need to occur.
dailyCron cron_name Mandatory parameter. To refer to your cron. Ensure you provide a unique name.
description Optional parameter. You can provide a description for your cron.
cron_status Mandatory parameter. Determines if the cron is enabled or not. Ensure it is set as 'true'.
cron_type Mandatory parameter. Determines the type of Cron. The value will need to provided as Calendar to create recurring crons.
cron_detail Mandatory parameter. Provide the following details:
  • hour: To set the hour interval of the repetition.
  • minute: To set the minute interval of the repetition.
  • second: To set the second interval of the repetition.
  • repetition type: Ensure you set value as "daily" for an Daily type recurring cron.
job_meta Mandatory parameter. Pass the jobMeta JSON object as value.

copy
// create function job meta
const jobMeta = {
  job_name: 'test_job', // set a name for the job
  target_type: 'Function', // set the target type as Function for function jobs
  target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory)
  // target_id: '123467890', // set the target functions's Id (optional) (either target_id or target_name is mandatory)
  jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  // jobpool_id: '1234567890', // set the Id of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  job_config: {
    number_of_retries: 2, // set the number of retries
    retry_interval: 15 * 60 // set the retry interval
  }, // set job config - job retries => 2 retries in 15 mins (optional)
  params: {
    arg1: 'test',
    arg2: 'job'
  } // set params to be passed to target function (optional)
};
// create daily cron details
const dailyCron = {
  cron_name: 'daily_cron', // set a name for the cron (unique)
  description: 'daily_cron', // set a description for the cron (optional)
  cron_status: true, // set the cron status as enabled
  cron_type: 'Calendar', // set the cron type as Calendar for daily, monthly and yearly
  cron_detail: {
    hour: 0, // set the hour of the day in which the cron should be executed
    minute: 0, // set the minute of the day in which the cron should be executed
    second: 0, // set the second of the day in which the cron should be executed
    repetition_type: 'daily' // set the repetition type as daily for daily cron
    // timezone: 'America/Los_Angeles' // set the timezone (optional)
  },
  job_meta: jobMeta // set the function job meta
};
// create daily cron
const dailyCronDetails = await jobScheduling.CRON.createCron(dailyCron);

Notes:

  • The following SDK is written for a job that will trigger a Job Function. To make the SDK compatible for the other types, you need to replace the value with proper Job Pool ID, or Job Pool Name, and provide the appropriate Target Name, or Target ID.

  • The following SDK is configured to execute the cron that will submit a job to the job pool every month on the 1st, 3rd, and 5th at 0Hrs, 0Mins, 0Secs. You can change this value as per your requirement by passing the relevant value to the cron_detail JSON key-value pair.

The following SDK can be used to schedule a cron to submit a job to the job pool at a fixed date, and time at a monthly interval. Additionally, you also have the option to submit a job at a monthly interval but on a particular week.

If you choose to schedule the cron to execute at a monthly interval on a date-based schedule, then the range of possible dates, based on the month, will be 1-31. Similarly, if you choose a week-based interval, then the range can either be from 1-4, and the particular days of the week will be in the range of 1-7.

Parameters Used

You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron’s meta that will schedule the submission of the job to the job pool.

The JSON attributes used in these two JSONs are provided in the following table:

JSON Object JSON Attributes Definition
job_meta job_name Mandatory parameter. Contains the name of the job that needs to be submitted to the job pool.
target_type Mandatory parameter. Contains the type of the job. (Function | Circuit | Webhook | AppSail).
target_name or target_id Mandatory parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
jobpool_name or jobpool_id Mandatory parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
job_config
  • Optional parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • number_of_retries: The number of retries that need to be attempted.
  • retry_interval: The interval in which the retries need to occur.
monthlyCron cron_name Mandatory parameter. To refer to your cron. Ensure you provide a unique name.
description Optional parameter. You can provide a description for your cron.
cron_status Mandatory parameter. Determines if the cron is enabled or not. Ensure it is set as 'true'.
cron_type Mandatory parameter. Determines the type of Cron. The value will need to provided as Calendar to create recurring crons.
cron_detail Mandatory parameter. Provide the following details:
  • hour: To set the hour interval of the repetition.
  • minute: To set the minute interval of the repetition.
  • second: To set the second interval of the repetition.
  • days: To set the days of the month in which the cron should be executed.
  • repetition type: Ensure you set value as "monthly" for an Monthly type recurring cron.
job_meta Mandatory parameter. Pass the jobMeta JSON object as value.

copy
// create function job meta
const jobMeta = {
  job_name: 'test_job', // set a name for the job
  target_type: 'Function', // set the target type as Function for function jobs
  target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory)
  // target_id: '123467890', // set the target functions's ID (optional) (either target_id or target_name is mandatory)
  jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  // jobpool_id: '1234567890' // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  job_config: {
    number_of_retries: 2, // set the number of retries
    retry_interval: 15 * 60 // set the retry interval
  }, // set job config - job retries => 2 retries in 15 mins (optional)
  params: {
    arg1: 'test',
    arg2: 'job'
  } // set params to be passed to target function (optional)
};
// create monthly cron details
const monthlyCron = {
  cron_name: 'monthly_cron', // set a name for the cron (unique)
  description: 'monthly_cron', // set a description for the cron (optional)
  cron_status: true, // set the cron status as enabled
  cron_type: 'Calendar', // set the cron type as Calendar for daily, monthly and yearly
  cron_detail: {
    hour: 0, // set the hour of the day in which the cron should be executed
    minute: 0, // set the minute of the day in which the cron should be executed
    second: 0, // set the second of the day in which the cron should be executed
    days: [1, 3, 5], // set the days of the month in which the cron should be executed
    // week_day: [1, 3], // set the days of the week in a month during which the cron should be executed
    // weeks_of_month: [2], // set the weeks of the month during which the cron should be executed
    repetition_type: 'monthly' // set the repetition type as monthly for monthly cron
    // timezone: 'America/Los_Angeles' // set the timezone (optional)
  },
  job_meta: jobMeta // set function job meta
};
// create monthly cron
const monthlyCronDetails = await jobScheduling.CRON.createCron(monthlyCron);

Notes:

  • The following SDK is written for a job that will trigger a Job Function. To make the SDK compatible for the other types, you need to replace the value with proper Job Pool ID, or Job Pool Name, and provide the appropriate Target Name, or Target ID.

  • The following SDK is configured to execute the cron that will submit a job to the job pool on the 1st, 2nd, and 3rd on the 8th month of every year. You can change this value as per your requirement by passing the relevant value to the cron_detail JSON key-value pair.

The following SDK can be used to schedule a cron to submit a job to the job pool at a fixed date, and time at a fixed month on a yearly interval. Additionally, you also have the option to submit a job at a yearly interval but on a particular week.

If you choose to schedule the cron to execute at a yearly interval on a date-based schedule, then the range of possible dates, based on the month, will be 1-31, and the month will be determined based on the range of values 1-12. Similarly, if you choose a week-based interval, then the range can either be from 1-4, and the particular days of the week will be in the range of 1-7.

Parameters Used

You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron’s meta that will schedule the submission of the job to the job pool.

The JSON attributes used in these two JSONs are provided in the following table:

JSON Object JSON Attributes Definition
job_meta job_name Mandatory parameter. Contains the name of the job that needs to be submitted to the job pool.
target_type Mandatory parameter. Contains the type of the job. (Function | Circuit | Webhook | AppSail).
target_name or target_id Mandatory parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
jobpool_name or jobpool_id Mandatory parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields.
job_config
  • Optional parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • number_of_retries: The number of retries that need to be attempted.
  • retry_interval: The interval in which the retries need to occur.
yearlyCron cron_name Mandatory parameter. To refer to your cron. Ensure you provide a unique name.
description Optional parameter. You can provide a description for your cron.
cron_status Mandatory parameter. Determines if the cron is enabled or not. Ensure it is set as 'true'.
cron_type Mandatory parameter. Determines the type of Cron. The value will need to provided as Calendar to create recurring crons.
cron_detail Mandatory parameter. Provide the following details:
  • hour: To set the hour interval of the repetition.
  • minute: To set the minute interval of the repetition.
  • second: To set the second interval of the repetition.
  • days: To set the days of the month in which the cron should be executed.
  • months: To set the months of the year in which the cron should be executed.
  • repetition type: Ensure you set value as "yearly" for a Yearly type recurring cron.
job_meta Mandatory parameter. Pass the jobMeta JSON object as value.

copy
// create function job meta
const jobMeta = {
  job_name: 'test_job', // set a name for the job
  target_type: 'Function', // set the target type as Function for function jobs
  target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory)
  // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory)
  jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  // jobpool_id: '1234567890', // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory)
  job_config: {
    number_of_retries: 2, // set the number of retries
    retry_interval: 15 * 60 // set the retry interval
  }, // set job config - job retries => 2 retries in 15 mins (optional)
  params: {
    arg1: 'test',
    arg2: 'job'
  } // set params to be passed to target function (optional)
};
// create yearly cron details
const yearlyCron = {
  cron_name: 'yearly_cron', // set a name for the cron (unique)
  description: 'yearly_cron', // set a description for the cron (optional)
  cron_status: true, // set the cron status as enabled
  cron_type: 'Calendar', // set the cron type as Calendar for daily, monthly and yearly
  cron_detail: {
    hour: 0, // set the hour of the day in which the cron should be executed
    minute: 0, // set the minute of the day in which the cron should be executed
    second: 0, // set the second of the day in which the cron should be executed
    days: [1, 2, 3], // set the days of the month in which the cron should be executed
    // week_day: [1, 3], // set the days of the week in a month during which the cron should be executed
    // weeks_of_month: [2], // set the weeks of the month during which the cron should be executed
    months: [8], // set the months of the year in which the cron should be executed
    repetition_type: 'yearly' // set the repetition type as yearly for yearly cron
    // timezone: 'America/Los_Angeles' // set the timezone (optional)
  },
  job_meta: jobMeta // set function job meta
};
// create yearly cron
const yearlyCronDetails = await jobScheduling.CRON.createCron(yearlyCron);
Note: We urge you to use this SDK to exclusively configure Dynamic Crons, and use the console's UI Builder to exclusively configure Pre-defined Crons.

Last Updated 2026-07-02 14:51:41 +0530 IST