--- title: "Crear un Cron recurrente" url: https://docs.catalyst.zoho.com/es/sdk/java/v1/job-scheduling/cron/create-recurring-cron/ description: "Esta página describe el método Java para crear un cron recurrente con fragmentos de código de ejemplo." last_updated: 2026-03-30T08:10:30Z service: Job Scheduling type: general related_links: - name: "Component Help Documentation" url: /es/job-scheduling/help/jobpool/introduction/ - name: "Node.js SDK" url: /es/sdk/nodejs/v2/job-scheduling/cron/create-recurring-cron/ - name: "Python SDK" url: /es/sdk/python/v1/job-scheduling/cron/create-recurring-cron/ - name: "REST API Collection" url: /es/api/code-reference/job-scheduling/cron/create-cron/create-every-cron/#CreateanEveryCron --- # 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. **Every Cron** ### 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**. > **Nota:** El siguiente SDK está configurado para [enviar un trabajo](https://docs.catalyst.zoho.com/es/api/code-reference/job-scheduling/job/submit-job/submit-function-job/#SubmitaFunctionJobByID) cada **2Hrs 1Min y 3segs**. Puedes cambiar este valor según tu requerimiento pasando el valor relevante al método `setTime()`. #### Fragmento de código de ejemplo **Package Imports** ```java 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; ``` ```java // 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); ``` **Daily Cron** ### Crear un Daily Cron El siguiente SDK puede usarse para programar un cron que [envíe un trabajo](https://docs.catalyst.zoho.com/es/job-scheduling/help/implementation/submit-jobs-using-jobs/) al [job pool](https://docs.catalyst.zoho.com/es/job-scheduling/help/jobpool/introduction/) a una hora fija en un intervalo **diario**. > **Nota:** El siguiente SDK está configurado para ejecutar el cron a las **0Hr 0Min 0Seg** todos los días. Puedes cambiar este valor según tu requerimiento pasando el valor relevante al método `setTime()`. #### Fragmento de código de ejemplo **Package Imports** ```java 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; ``` ```java // 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); ``` **Monthly Cron** ### Crear un Monthly Cron El siguiente SDK puede usarse para programar un cron que [envíe un trabajo](https://docs.catalyst.zoho.com/es/job-scheduling/help/implementation/submit-jobs-using-jobs/) al [job pool](https://docs.catalyst.zoho.com/es/job-scheduling/help/jobpool/introduction/) 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**. > **Nota:** El siguiente SDK está configurado para ejecutar el cron que enviará un trabajo al job pool **cada mes** los días **1**, **3** y **5** a las **0Hrs, 0Mins, 0Segs**. Puedes cambiar este valor según tu requerimiento pasando el valor relevante al método `setTime()`. #### Fragmento de código de ejemplo **Package Imports** ```java 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; ``` > **Nota:** En el siguiente fragmento de código del SDK, si comentas las líneas `.setWeeksOfMonth(1, 3)` y `.setDayOfTheWeek(1, 2)`, y descomentas las líneas de código `.setTime(0, 0, 0)` y `.setDays(1, 3, 5)`, entonces el cron se programará para enviar un trabajo al job pool cada mes en los días 1 y 2 de la semana 1 y 3 de un mes. ```java // 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); ``` **Yearly Cron** ### Crear un Yearly Cron El siguiente SDK puede usarse para programar un cron que[envíe un trabajo](https://docs.catalyst.zoho.com/es/job-scheduling/help/implementation/submit-jobs-using-jobs/) al [job pool](https://docs.catalyst.zoho.com/es/job-scheduling/help/jobpool/introduction/) 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**. > **Nota:** El siguiente SDK está configurado para ejecutar el cron que enviará un trabajo al job pool los días **1**, **2** y **3** del **mes 8** de **cada año**. Puedes cambiar este valor según tu requerimiento pasando el valor relevante al método `setTime()`. #### Fragmento de código de ejemplo **Package Imports** ```java 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; ``` ```java // 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); ``` > **Nota:** Te recomendamos usar este SDK para configurar solo [Crons dinámicos](https://docs.catalyst.zoho.com/es/job-scheduling/help/implementation/submit-job-dynamic-cron/). Usa el *UI Builder* para configurar [Crons predefinidos](https://docs.catalyst.zoho.com/es/job-scheduling/help/implementation/submit-job-predefined-cron/).