Create a Recurring Cron

Using the following SDK, you will be able to create a recurring cron that can be executed at various time-period intervals. The intervals can range from a minute to entire calendar years.

Create an Every Cron

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.

Note: The following SDK is configured to submit a job every 2Hrs 1Mins and 3secs. You can change this value as per your requirement by passing the relevant value to the setTime() method.

Ensure the following packages have been imported:

    
copy

import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject;

    
copy

// generate function job meta ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // get function job builder .setJobConfig(2, 15 * 60 l) // set job config - job retries => 2 retries in 15 mins (optional) .setJobpoolName(“functions_jobpool”) // set the name of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) // .setJobpoolId(1234567890L) // set the Id of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) .setTargetName(“target_function”) // set target function’s name (optional) (either TargetName or TargetId is mandatory) // .setTargetId(1234567890L) // set the target function’s Id (optional) (either TargetName or TargetId is mandatory) .setParams(new JSONObject() { { put(“arg1”, “job”); put(“arg2”, “test”); } }) // set params to be passed to target function (optional) .setJobName(“job_name”) // set job name .build(); // build job meta

// EVERY CRON => which will be run for every 2hrs 1min and 3sec

// generate cron details ZCCronDetails everyCronDetails = ZCCronBuilder.zcEveryCronBuilder() // get every cron builder .setCronStatus(true) // set cron as enabled .setTime(2, 1, 3) // set the repetition interval .setJobMeta(jobMeta) // set the job meta (modify based on the job) .setCronName(“every_cron”) // set cron name (unique) .setCronDescription(“every_cron”) // set corn description (optional) .build(); // build cron details

// create every cron ZCCronDetails everyCron = jobScheduling.cron.createCron(everyCronDetails);

Create a Daily Cron

The following SDK can be used to schedule a cron to submit a job to the job pool at a fixed time at a daily interval.

Note: 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 setTime() method.

Ensure the following packages have been imported:

    
copy

import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject;

    
copy

// generate function job meta ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // get function job builder .setJobConfig(2, 15 * 60 l) // set job config - job retries => 2 retries in 15 mins (optional) .setJobpoolName(“functions_jobpool”) // set the name of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) // .setJobpoolId(1234567890L) // set the Id of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) .setTargetName(“target_function”) // set target function’s name (optional) (either TargetName or TargetId is mandatory) // .setTargetId(1234567890L) // set the target function’s Id (optional) (either TargetName or TargetId is mandatory) .setParams(new JSONObject() { { put(“arg1”, “job”); put(“arg2”, “test”); } }) // set params to be passed to target function (optional) .setJobName(“job_name”) // set job name .build(); // build job meta

// DAILY CRON => which will be run on 0hrs 0mins and 0sec daily

// generate cron details ZCCronDetails dailyCronDetails = ZCCronBuilder.zcDailyCronBuilder() // get daily cron builder .setCronStatus(true) // set cron as enabled .setTime(0, 0, 0) // set the time of the day during which the cron should be executed // .setTimezone(“America/Los_Angeles”) // set the timezone (optional) .setJobMeta(jobMeta) // set the job meta (modify based on the job) .setCronName(“daily_cron”) // set cron name (unique) .setCronDescription(“daily_cron”) // set corn description (optional) .build(); // build cron details

// create daily cron ZCCronDetails dailyCron = jobScheduling.cron.createCron(dailyCronDetails);

Create a Monthly Cron

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.

Note: 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 setTime() method.

Ensure the following packages have been imported:

    
copy

import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject;

Note: In the following SDK snippet, if you comment out the lines .setWeeksOfMonth(1, 3) and .setDayOfTheWeek(1, 2), and comment in code lines .setTime(0, 0, 0) and .setDays(1, 3, 5), then the cron will be scheduled to submit a job to the job pool every month on the 1st and 2nd days of the 1st and 3rd week of a month.
    
copy

// generate function job meta ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // get function job builder .setJobConfig(2, 15 * 60 l) // set job config - job retries => 2 retries in 15 mins (optional) .setJobpoolName(“functions_jobpool”) // set the name of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) // .setJobpoolId(1234567890L) // set the Id of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) .setTargetName(“target_function”) // set target function’s name (optional) (either TargetName or TargetId is mandatory) // .setTargetId(1234567890L) // set the target function’s Id (optional) (either TargetName or TargetId is mandatory) .setParams(new JSONObject() { { put(“arg1”, “job”); put(“arg2”, “test”); } }) // set params to be passed to target function (optional) .setJobName(“job_name”) // set job name .build(); // build job meta

// MONTHLY CRON => which will be run on 0hrs 0mins 0sec on 1st 3rd and 5th days of every month

// generate cron details ZCCronDetails monthlyCronDetails = ZCCronBuilder.zcMonthlyCronBuilder() // get monthly cron builder .setCronStatus(true) // set cron as enabled .setTime(0, 0, 0) // set the time of the day during which the cron should be executed .setDays(1, 3, 5) // set the days of the month (day based config) // .setWeeksOfMonth(1, 3) // set the weeks of the month (either week based or day based config is necessary) // .setDayOfTheWeek(1, 2) // set the days of the week (either week based or day based config is necessary) // .setTimezone(“America/Los_Angeles”) // set the timezone (optional) .setJobMeta(jobMeta) // set the job meta (modify based on the job) .setCronName(“monthly_cron”) // set cron name (unique) .setCronDescription(“monthly_cron”) // set corn description (optional) .build(); // build cron details

// create monthly cron ZCCronDetails monthlyCron = jobScheduling.cron.createCron(monthlyCronDetails);

Create a Yearly Cron

The following SDK can be used to schedule a cron tosubmit 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.

Note: 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 setTime() method.

Ensure the following packages have been imported:

    
copy

import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject;

    
copy

// generate function job meta ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // get function job builder .setJobConfig(2, 15 * 60 l) // set job config - job retries => 2 retries in 15 mins (optional) .setJobpoolName(“functions_jobpool”) // set the name of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) // .setJobpoolId(1234567890L) // set the Id of the function jobpool (optional) (either jobpoolId or jobpoolName is mandatory) .setTargetName(“target_function”) // set target function’s name (optional) (either TargetName or TargetId is mandatory) // .setTargetId(1234567890L) // set the target function’s Id (optional) (either TargetName or TargetId is mandatory) .setParams(new JSONObject() { { put(“arg1”, “job”); put(“arg2”, “test”); } }) // set params to be passed to target function (optional) .setJobName(“job_name”) // set job name .build(); // build job meta

// YEARLY CRON => which will be run on 0hrs 0min 0sec on 1st 2nd 3rd days of the 8th month of a year

// generate cron details ZCCronDetails yearlyCronDetails = ZCCronBuilder.zcYearlyCronBuilder() // get yearly cron builder .setCronStatus(true) // set cron as enabled .setTime(0, 0, 0) // set the time of the day during which the cron should be executed .setDays(1, 2, 3) // set the days of the month // .setWeeksOfMonth(1) // set the weeks of the month (either week based or day based config is necessary) // .setDayOfTheWeek(3) // set the days of the week (either week based or day based config is necessary) .setMonths(8) // set the months // .setTimezone(“America/Los_Angeles”) // set the timezone (optional) .setJobMeta(jobMeta) // set the job meta (modify based on the job) .setCronName(“yearly_cron”) // set cron name (unique) .setCronDescription(“yearly_cron”) // set corn description (optional) .build(); // build cron details

// create yearly cron ZCCronDetails yearlyCron = jobScheduling.cron.createCron(yearlyCronDetails);

Note: We urge you to use this SDK to configure only Dynamic Crons. Use the UI Builder to configure Pre-defined Crons.

Last Updated 2025-06-20 16:21:48 +0530 +0530