Crear un Cron recurrente
Usando el siguiente SDK, podrás crear un cron recurrente que puede ejecutarse en varios intervalos de tiempo. Los intervalos pueden variar desde un minuto hasta años calendario completos.
Crear un Every Cron
El siguiente SDK puede usarse para crear un cron recurrente que enviará un trabajo al job pool en un intervalo programado menor a 24Hrs.
Fragmento de código de ejemplo
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;
// generar metadatos del function job
ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job
.setJobConfig(2, 15 * 60 l) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setJobpoolName(“functions_jobpool”) // establecer el nombre del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
// .setJobpoolId(1234567890L) // establecer el Id del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
.setTargetName(“target_function”) // establecer el nombre de la función destino (opcional) (TargetName o TargetId es obligatorio)
// .setTargetId(1234567890L) // establecer el Id de la función destino (opcional) (TargetName o TargetId es obligatorio)
.setParams(new JSONObject() {
{
put(“arg1”, “job”);
put(“arg2”, “test”);
}
}) // establecer parámetros a pasar a la función destino (opcional)
.setJobName(“job_name”) // establecer nombre del job
.build(); // construir metadatos del job
// CRON PERIÓDICO => que se ejecutará cada 2hrs 1min y 3seg
// generar detalles del cron
ZCCronDetails everyCronDetails = ZCCronBuilder.zcEveryCronBuilder() // obtener el builder de cron periódico
.setCronStatus(true) // establecer cron como habilitado
.setTime(2, 1, 3) // establecer el intervalo de repetición
.setJobMeta(jobMeta) // establecer los metadatos del job (modificar según el job)
.setCronName(“every_cron”) // establecer nombre del cron (único)
.setCronDescription(“every_cron”) // establecer descripción del cron (opcional)
.build(); // construir detalles del cron
// crear cron periódico
ZCCronDetails everyCron = jobScheduling.cron.createCron(everyCronDetails);
Crear un Daily Cron
El siguiente SDK puede usarse para programar un cron que envíe un trabajo al job pool a una hora fija en un intervalo diario.
Fragmento de código de ejemplo
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;
// generar metadatos del function job
ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job
.setJobConfig(2, 15 * 60 l) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setJobpoolName(“functions_jobpool”) // establecer el nombre del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
// .setJobpoolId(1234567890L) // establecer el Id del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
.setTargetName(“target_function”) // establecer el nombre de la función destino (opcional) (TargetName o TargetId es obligatorio)
// .setTargetId(1234567890L) // establecer el Id de la función destino (opcional) (TargetName o TargetId es obligatorio)
.setParams(new JSONObject() {
{
put(“arg1”, “job”);
put(“arg2”, “test”);
}
}) // establecer parámetros a pasar a la función destino (opcional)
.setJobName(“job_name”) // establecer nombre del job
.build(); // construir metadatos del job
// CRON DIARIO => que se ejecutará a las 0hrs 0min y 0seg diariamente
// generar detalles del cron
ZCCronDetails dailyCronDetails = ZCCronBuilder.zcDailyCronBuilder() // obtener el builder de cron diario
.setCronStatus(true) // establecer cron como habilitado
.setTime(0, 0, 0) // establecer la hora del día en que se debe ejecutar el cron
// .setTimezone(“America/Los_Angeles”) // establecer la zona horaria (opcional)
.setJobMeta(jobMeta) // establecer los metadatos del job (modificar según el job)
.setCronName(“daily_cron”) // establecer nombre del cron (único)
.setCronDescription(“daily_cron”) // establecer descripción del cron (opcional)
.build(); // construir detalles del cron
// crear cron diario
ZCCronDetails dailyCron = jobScheduling.cron.createCron(dailyCronDetails);
Crear un Monthly Cron
El siguiente SDK puede usarse para programar un cron que envíe un trabajo al job pool en una fecha y hora fijas en un intervalo mensual. Adicionalmente, también tienes la opción de enviar un trabajo en un intervalo mensual pero en una semana particular.
Si eliges programar el cron para ejecutarse en un intervalo mensual con un calendario basado en fechas, entonces el rango de fechas posibles, basado en el mes, será 1-31. De manera similar, si eliges un intervalo basado en semanas, entonces el rango puede ser de 1-4, y los días de la semana particulares estarán en el rango de 1-7.
Fragmento de código de ejemplo
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;
// generar metadatos del function job
ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job
.setJobConfig(2, 15 * 60 l) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setJobpoolName(“functions_jobpool”) // establecer el nombre del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
// .setJobpoolId(1234567890L) // establecer el Id del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
.setTargetName(“target_function”) // establecer el nombre de la función destino (opcional) (TargetName o TargetId es obligatorio)
// .setTargetId(1234567890L) // establecer el Id de la función destino (opcional) (TargetName o TargetId es obligatorio)
.setParams(new JSONObject() {
{
put(“arg1”, “job”);
put(“arg2”, “test”);
}
}) // establecer parámetros a pasar a la función destino (opcional)
.setJobName(“job_name”) // establecer nombre del job
.build(); // construir metadatos del job
// CRON MENSUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 3 y 5 de cada mes
// generar detalles del cron
ZCCronDetails monthlyCronDetails = ZCCronBuilder.zcMonthlyCronBuilder() // obtener el builder de cron mensual
.setCronStatus(true) // establecer cron como habilitado
.setTime(0, 0, 0) // establecer la hora del día en que se debe ejecutar el cron
.setDays(1, 3, 5) // establecer los días del mes (configuración por día)
// .setWeeksOfMonth(1, 3) // establecer las semanas del mes (la configuración por semana o por día es necesaria)
// .setDayOfTheWeek(1, 2) // establecer los días de la semana (la configuración por semana o por día es necesaria)
// .setTimezone(“America/Los_Angeles”) // establecer la zona horaria (opcional)
.setJobMeta(jobMeta) // establecer los metadatos del job (modificar según el job)
.setCronName(“monthly_cron”) // establecer nombre del cron (único)
.setCronDescription(“monthly_cron”) // establecer descripción del cron (opcional)
.build(); // construir detalles del cron
// crear cron mensual
ZCCronDetails monthlyCron = jobScheduling.cron.createCron(monthlyCronDetails);
Crear un Yearly Cron
El siguiente SDK puede usarse para programar un cron queenvíe un trabajo al job pool en una fecha y hora fijas en un mes fijo en un intervalo anual. Adicionalmente, también tienes la opción de enviar un trabajo en un intervalo anual pero en una semana particular.
Si eliges programar el cron para ejecutarse en un intervalo anual con un calendario basado en fechas, entonces el rango de fechas posibles, basado en el mes, será 1-31, y el mes se determinará basándose en el rango de valores 1-12. De manera similar, si eliges un intervalo basado en semanas, entonces el rango puede ser de 1-4, y los días de la semana particulares estarán en el rango de 1-7.
Fragmento de código de ejemplo
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;
// generar metadatos del function job
ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job
.setJobConfig(2, 15 * 60 l) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setJobpoolName(“functions_jobpool”) // establecer el nombre del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
// .setJobpoolId(1234567890L) // establecer el Id del function job pool (opcional) (jobpoolId o jobpoolName es obligatorio)
.setTargetName(“target_function”) // establecer el nombre de la función destino (opcional) (TargetName o TargetId es obligatorio)
// .setTargetId(1234567890L) // establecer el Id de la función destino (opcional) (TargetName o TargetId es obligatorio)
.setParams(new JSONObject() {
{
put(“arg1”, “job”);
put(“arg2”, “test”);
}
}) // establecer parámetros a pasar a la función destino (opcional)
.setJobName(“job_name”) // establecer nombre del job
.build(); // construir metadatos del job
// CRON ANUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 2 y 3 del 8vo mes del año
// generar detalles del cron
ZCCronDetails yearlyCronDetails = ZCCronBuilder.zcYearlyCronBuilder() // obtener el builder de cron anual
.setCronStatus(true) // establecer cron como habilitado
.setTime(0, 0, 0) // establecer la hora del día en que se debe ejecutar el cron
.setDays(1, 2, 3) // establecer los días del mes
// .setWeeksOfMonth(1) // establecer las semanas del mes (la configuración por semana o por día es necesaria)
// .setDayOfTheWeek(3) // establecer los días de la semana (la configuración por semana o por día es necesaria)
.setMonths(8) // establecer los meses
// .setTimezone(“America/Los_Angeles”) // establecer la zona horaria (opcional)
.setJobMeta(jobMeta) // establecer los metadatos del job (modificar según el job)
.setCronName(“yearly_cron”) // establecer nombre del cron (único)
.setCronDescription(“yearly_cron”) // establecer descripción del cron (opcional)
.build(); // construir detalles del cron
// crear cron anual
ZCCronDetails yearlyCron = jobScheduling.cron.createCron(yearlyCronDetails);
Última actualización 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us