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.
Ensure the following packages have been imported:
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;
// 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.
Ensure the following packages have been imported:
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;
// 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.
Ensure the following packages have been imported:
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;
// 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.
Ensure the following packages have been imported:
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;
// 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);
Last Updated 2025-06-20 16:21:48 +0530 IST
Yes
No
Send your feedback to us