Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Enviar un Job al Job Pool usando un Dynamic Cron

Un Dynamic Cron te permite configurar crons mediante código y programar envíos de jobs al job pool dinámicamente durante el tiempo de ejecución. En esta sección de ayuda, repasaremos los pasos necesarios para programar el envío de un job al job pool usando un Dynamic Cron.

Antes de crear un dynamic cron, dependiendo del tipo de tu job pool, asegúrate de que los siguientes componentes estén configurados y presentes en la consola de Catalyst:

  • Function Job Pool: La Job Function, si fue inicializada a través del CLI de Catalyst, necesita estar desplegada en la consola de Catalyst, junto con el archivo de código que contiene la configuración de tu dynamic cron.
  • Webhook Job Pool: Asegúrate de que la URL del servicio de terceros sea válida.
  • Circuit Job Pool: Asegúrate de que el Circuit y sus funciones asociadas estén creados y presentes en la consola de Catalyst.
  • AppSail Job Pool: Asegúrate de haber desplegado tu servicio AppSail en la consola de Catalyst.

Puntos a recordar cuando creas un Dynamic Cron:

  • Los dynamic crons se habilitan y ejecutan idealmente durante el tiempo de ejecución.
  • Los dynamic crons creados en el entorno de desarrollo no pueden migrarse al entorno de producción.
  • Los dynamic crons se pueden crear usando el Builder, de la misma manera exacta que un Pre-Defined Cron. Sin embargo, esta opción se proporciona para que puedas crear y probar la funcionalidad de tus dynamic crons en el entorno de producción.

Configurar un Dynamic Cron

Para crear y configurar un Dynamic Cron:

  1. Navega a la sección del servicio Job Scheduling en la consola de Catalyst y haz clic en Start Exploring. catalyst_job_scheduling_start_exploring_page

  2. Accede al componente cron haciendo clic en Cron bajo JOB EXECUTOR y haz clic en el botón Create Cron presente en la pestaña Dynamic. catalyst_job_scheduling_dynamic_cron_start

  3. Haz clic en la pestaña SDK. catalyst_job_scheduling_dynamic_cron_sdk_code_select

Nota:
  • En esta documentación de ayuda, solo repasaremos los pasos necesarios para crear un Dynamic Cron mediante código usando el SDK de Catalyst.
  • Puedes consultar esta documentación de ayuda, donde se explican los pasos para crear un Pre-Defined Cron usando el Builder. El Builder se puede usar exactamente de la misma manera para crear un Dynamic Cron.
  • La opción de emplear Dynamic Crons usando el Builder se proporciona para que puedas crear y probar la funcionalidad de tus dynamic crons en el entorno de producción.
  1. Elige el tipo de fragmento de código que necesitas para codificar tu cron desde el menú desplegable. catalyst_job_scheduling_dynamic_cron_sdk_snip_drop-down

Configurar un Dynamic Cron de una sola vez

One-Time Dynamic Cron
copy

// CRON DE UNA SOLA VEZ => que se ejecutará después de 60 minutos desde la hora actual

ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance(); // obtener instancia de job scheduling

// generar metadatos del function job ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job .setJobConfig(2, 15 * 60 * 1000L) // configurar job - reintentos => 2 reintentos en 15 min (opcional) .setJobpoolName(“functions_job_pool”) // 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

// generar detalles del cron ZCCronDetails oneTimeCronDetails = ZCCronBuilder.zcOneTimeCronBuilder() // obtener builder de cron de una sola vez .setCronStatus(true) // establecer cron como habilitado .cronConfig(System.currentTimeMillis() + (60 * 1000 * 1000)) // establecer el tiempo de ejecución como timestamp UNIX .setJobMeta(jobMeta) // establecer metadatos del job (modificar según el job) .setCronName(“one_time_cron”) // establecer nombre del cron (único) .build(); // construir detalles del cron

// crear cron de una sola vez ZCCronDetails oneTimeCron = jobScheduling.cron.createCron(oneTimeCronDetails);

View more
One-Time Dynamic Cron
copy

// CRON DE UNA SOLA VEZ => que se ejecutará después de 60 min desde la hora actual

const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling

// crear metadatos del function job const jobMeta = { job_name: ’test_job’, // establecer un nombre para el job target_type: ‘Function’, // establecer el tipo de destino como Function para function jobs target_name: ’target_function’, // establecer el nombre de la función destino (opcional) (target_id o target_name es obligatorio) // target_id: ‘123467890’, // establecer el Id de la función destino (opcional) (target_id o target_name es obligatorio) jobpool_name: ’test’, // establecer el nombre del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) // jobpool_id: ‘1234567890’ // establecer el Id del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) job_config: { number_of_retries: 2, // establecer el número de reintentos retry_interval: 15 * 60 * 1000 + ’’ // establecer el intervalo de reintento }, // configurar job - reintentos => 2 reintentos en 15 min (opcional) params: { arg1: ’test’, arg2: ‘job’ }, // establecer parámetros a pasar a la función destino (opcional) };

// crear detalles del cron de una sola vez const oneTimeCron = { cron_name: ‘one_time’, // establecer un nombre para el cron (único) cron_status: true, // establecer el estado del cron como habilitado cron_type: ‘OneTime’, // establecer el tipo de cron como OneTime cron_detail: { time_of_execution: Date.now() + (60 * 1000 * 1000) + ’’ // establecer el tiempo de ejecución como timestamp UNIX }, job_meta: jobMeta // establecer metadatos del function job };

// crear cron de una sola vez const cronDetails = await jobScheduling.CRON.createCron(oneTimeCron);

View more
One-Time Dynamic Cron
copy
# CRON DE UNA SOLA VEZ => que se ejecutará después de 60 min desde la hora actual

job_scheduling = app.job_scheduling() # crear instancia de job scheduling

# crear metadatos del function job

job_meta = { ‘job_name’: ’test_job’, # establecer un nombre para el job ’target_type’: ‘Function’, # establecer el tipo de destino como Function para function jobs ’target_name’: ’target_function’, # establecer el nombre de la función destino (opcional) (target_id o target_name es obligatorio) # ’target_id’: ‘123467890’, # establecer el Id de la función destino (opcional) (target_id o target_name es obligatorio) ‘jobpool_name’: ’test’, # establecer el nombre del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) # ‘jobpool_id’: ‘1234567890’ # establecer el Id del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) ‘job_config’: { ’number_of_retries’: 2, # establecer el número de reintentos ‘retry_interval’: 15 * 60 * 1000 # establecer el intervalo de reintento }, # configurar job - reintentos => 2 reintentos en 15 min (opcional) ‘params’: { ‘arg1’: ’test’, ‘arg2’: ‘job’ } # establecer parámetros a pasar a la función destino (opcional) }

# crear cron de una sola vez

one_time_cron_details = job_scheduling.CRON.create({ ‘cron_name’: ‘one_time’, # establecer un nombre para el cron (único) ‘cron_status’: True, # establecer el estado del cron como habilitado ‘cron_type’: ‘OneTime’, # establecer el tipo de cron como OneTime ‘cron_detail’: { ’time_of_execution’: int(time.time()) + (60 * 10 * 1000) # establecer el tiempo de ejecución como timestamp UNIX }, ‘job_meta’: job_meta # establecer metadatos del function job })

View more

Configurar un Dynamic Cron recursivo

Recursive Dynamic Cron
copy

ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance(); // obtener instancia de job scheduling

// generar metadatos del function job ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job .setJobConfig(2, 15 * 60 * 1000L) // configurar job - reintentos => 2 reintentos en 15 min (opcional) .setJobpoolName(“functions_job_pool”) // 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 EVERY => que se ejecutará cada 2hrs 1min y 3seg

// generar detalles del cron ZCCronDetails everyCronDetails = ZCCronBuilder.zcEveryCronBuilder() // obtener builder de cron every .setCronStatus(true) // establecer cron como habilitado .setTime(2, 1, 3) // establecer el intervalo de repetición .setJobMeta(jobMeta) // establecer metadatos del job (modificar según el job) .setCronName(“every_cron”) // establecer nombre del cron (único) .build(); // construir detalles del cron

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

// CRON DIARIO => que se ejecutará a las 0hrs 0min y 0seg diariamente

// generar detalles del cron ZCCronDetails dailyCronDetails = ZCCronBuilder.zcDailyCronBuilder() // obtener builder de cron diario .setCronStatus(true) // establecer cron como habilitado .setTime(0, 0, 0) // establecer la hora del día en que el cron debe ejecutarse .setJobMeta(jobMeta) // establecer metadatos del job (modificar según el job) .setCronName(“daily_cron”) // establecer nombre del cron (único) .build(); // construir detalles del cron

// crear cron diario ZCCronDetails dailyCron = jobScheduling.cron.createCron(dailyCronDetails);

// 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 builder de cron mensual .setCronStatus(true) // establecer cron como habilitado .setTime(0, 0, 0) // establecer la hora del día en que el cron debe ejecutarse .setDays(1, 3, 5) // establecer los días del mes (configuración basada en días) // .setWeeksOfMonth(1, 3) // establecer las semanas del mes (se requiere configuración basada en semanas o en días) // .setDayOfTheWeek(1, 2) // establecer los días de la semana (se requiere configuración basada en semanas o en días) .setJobMeta(jobMeta) // establecer metadatos del job (modificar según el job) .setCronName(“monthly_cron”) // establecer nombre del cron (único) .build(); // construir detalles del cron

// crear cron mensual ZCCronDetails monthlyCron = jobScheduling.cron.createCron(monthlyCronDetails);

// CRON ANUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 2, 3 del mes 8 del año

// generar detalles del cron ZCCronDetails yearlyCronDetails = ZCCronBuilder.zcYearlyCronBuilder() // obtener builder de cron anual .setCronStatus(true) // establecer cron como habilitado .setTime(0, 0, 0) // establecer la hora del día en que el cron debe ejecutarse .setDays(1, 2, 3) // establecer los días del mes // .setWeeksOfMonth(1) // establecer las semanas del mes (se requiere configuración basada en semanas o en días) // .setDayOfTheWeek(3) // establecer los días de la semana (se requiere configuración basada en semanas o en días) .setMonths(8) // establecer los meses .setJobMeta(jobMeta) // establecer metadatos del job (modificar según el job) .setCronName(“yearly_cron”) // establecer nombre del cron (único) .build(); // construir detalles del cron

// crear cron anual ZCCronDetails yearlyCron = jobScheduling.cron.createCron(yearlyCronDetails);

View more
Recursive Dynamic Cron
copy

const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling

// crear metadatos del function job const jobMeta = { job_name: ’test_job’, // establecer un nombre para el job target_type: ‘Function’, // establecer el tipo de destino como Function para function jobs target_name: ’target_function’, // establecer el nombre de la función destino (opcional) (target_id o target_name es obligatorio) // target_id: ‘123467890’, // establecer el Id de la función destino (opcional) (target_id o target_name es obligatorio) jobpool_name: ’test’, // establecer el nombre del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) // jobpool_id: ‘1234567890’ // establecer el Id del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) job_config: { number_of_retries: 2, // establecer el número de reintentos retry_interval: 15 * 60 * 1000 + ’’ // establecer el intervalo de reintento }, // configurar job - reintentos => 2 reintentos en 15 min (opcional) params: { arg1: ’test’, arg2: ‘job’ }, // establecer parámetros a pasar a la función destino (opcional) };

// CRON EVERY => que se ejecutará cada 2hrs 1min y 3seg

// crear detalles del cron every const everyCron = { cron_name: ’every_cron’, // establecer un nombre para el cron (único) cron_status: true, // establecer el estado del cron como habilitado cron_type: ‘Periodic’, // establecer el tipo de cron como Periodic para cron every cron_detail: { hour: 2, // establecer el intervalo de horas de la repetición minute: 1, // establecer el intervalo de minutos de la repetición second: 3, // establecer el intervalo de segundos de la repetición repetition_type: “every” // establecer el tipo de repetición como every para cron every }, job_meta: jobMeta // establecer metadatos del function job };

// crear cron every const everyCronDetails = await jobScheduling.CRON.createCron(everyCron);

// CRON DIARIO => que se ejecutará a las 0hrs 0min y 0seg diariamente

// crear detalles del cron diario const dailyCron = { cron_name: ‘daily_cron’, // establecer un nombre para el cron (único) cron_status: true, // establecer el estado del cron como habilitado cron_type: ‘Calendar’, // establecer el tipo de cron como Calendar para diario, mensual y anual cron_detail: { hour: 0, // establecer la hora del día en que el cron debe ejecutarse minute: 0, // establecer el minuto del día en que el cron debe ejecutarse second: 0, // establecer el segundo del día en que el cron debe ejecutarse repetition_type: ‘daily’ // establecer el tipo de repetición como daily para cron diario }, job_meta: jobMeta // establecer metadatos del function job };

// crear cron diario const dailyCronDetails = await jobScheduling.CRON.createCron(dailyCron);

// CRON MENSUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 3 y 5 de cada mes

// crear detalles del cron mensual const monthlyCron = { cron_name: ‘monthly_cron’, // establecer un nombre para el cron (único) cron_status: true, // establecer el estado del cron como habilitado cron_type: ‘Calendar’, // establecer el tipo de cron como Calendar para diario, mensual y anual cron_detail: { hour: 0, // establecer la hora del día en que el cron debe ejecutarse minute: 0, // establecer el minuto del día en que el cron debe ejecutarse second: 0, // establecer el segundo del día en que el cron debe ejecutarse days: [1, 3, 5], // establecer los días del mes en que el cron debe ejecutarse // week_day: [1, 3], // establecer los días de la semana en un mes durante los cuales el cron debe ejecutarse // weeks_of_month: [2], // establecer las semanas del mes durante las cuales el cron debe ejecutarse repetition_type: ‘monthly’ // establecer el tipo de repetición como monthly para cron mensual }, job_meta: jobMeta // establecer metadatos del function job };

// crear cron mensual const monthlyCronDetails = await jobScheduling.CRON.createCron(monthlyCron);

// CRON ANUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 2, 3 del mes 8 del año

// crear detalles del cron anual const yearlyCron = { cron_name: ‘yearly_cron’, // establecer un nombre para el cron (único) cron_status: true, // establecer el estado del cron como habilitado cron_type: ‘Calendar’, // establecer el tipo de cron como Calendar para diario, mensual y anual cron_detail: { hour: 0, // establecer la hora del día en que el cron debe ejecutarse minute: 0, // establecer el minuto del día en que el cron debe ejecutarse second: 0, // establecer el segundo del día en que el cron debe ejecutarse days: [1, 2, 3], // establecer los días del mes en que el cron debe ejecutarse // week_day: [1, 3], // establecer los días de la semana en un mes durante los cuales el cron debe ejecutarse // weeks_of_month: [2], // establecer las semanas del mes durante las cuales el cron debe ejecutarse months: [8], // establecer los meses del año en que el cron debe ejecutarse repetition_type: ‘yearly’ // establecer el tipo de repetición como yearly para cron anual }, job_meta: jobMeta // establecer metadatos del function job };

// crear cron anual const yearlyCronDetails = await jobScheduling.CRON.createCron(yearlyCron);

View more
Recursive Dynamic Cron
copy

job_scheduling = app.job_scheduling() # crear instancia de job scheduling

# crear metadatos del function job

job_meta = { ‘job_name’: ’test_job’, # establecer un nombre para el job ’target_type’: ‘Function’, # establecer el tipo de destino como Function para function jobs ’target_name’: ’target_function’, # establecer el nombre de la función destino (opcional) (target_id o target_name es obligatorio) # ’target_id’: ‘123467890’, # establecer el Id de la función destino (opcional) (target_id o target_name es obligatorio) ‘jobpool_name’: ’test’, # establecer el nombre del function jobpool (opcional) (jobpool_name o jobpool_id es obligatorio) # ‘jobpool_id’: ‘1234567890’ # establecer el Id del function jobpool (opcional) (jobpool_name o jobpool_id es obligatorio) ‘job_config’: { ’number_of_retries’: 2, # establecer el número de reintentos ‘retry_interval’: 15 * 60 * 1000 # establecer el intervalo de reintento }, # configurar job - reintentos => 2 reintentos en 15 min (opcional) ‘params’: { ‘arg1’: ’test’, ‘arg2’: ‘job’ } # establecer parámetros a pasar a la función destino (opcional) }

# CRON EVERY => que se ejecutará cada 2hrs 1min y 3seg

every_cron = job_scheduling.CRON.create({ ‘cron_name’: ’every_cron’, # establecer un nombre para el cron (único) ‘cron_status’: True, # establecer el estado del cron como habilitado ‘cron_type’: ‘Periodic’, # establecer el tipo de cron como Periodic para cron every ‘cron_detail’: { ‘hour’: 2, # establecer el intervalo de horas de la repetición ‘minute’: 1, # establecer el intervalo de minutos de la repetición ‘second’: 3, # establecer el intervalo de segundos de la repetición ‘repetition_type’: ’every’ # establecer el tipo de repetición como every para cron every }, ‘job_meta’: job_meta # establecer metadatos del function job })

# CRON DIARIO => que se ejecutará a las 0hrs 0min y 0seg diariamente

daily_cron = job_scheduling.CRON.create({ ‘cron_name’: ‘daily_cron’, # establecer un nombre para el cron (único) ‘cron_status’: True, # establecer el estado del cron como habilitado ‘cron_type’: ‘Calendar’, # establecer el tipo de cron como Calendar para diario, mensual y anual ‘cron_detail’: { ‘hour’: 0, # establecer la hora del día en que el cron debe ejecutarse ‘minute’: 0, # establecer el minuto del día en que el cron debe ejecutarse ‘second’: 0, # establecer el segundo del día en que el cron debe ejecutarse ‘repetition_type’: ‘daily’ # establecer el tipo de repetición como daily para cron diario }, ‘job_meta’: job_meta # establecer metadatos del function job })

# CRON MENSUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 3 y 5 de cada mes

monthly_cron = job_scheduling.CRON.create({ ‘cron_name’: ‘monthly_cron’, # establecer un nombre para el cron (único) ‘cron_status’: True, # establecer el estado del cron como habilitado ‘cron_type’: ‘Calendar’, # establecer el tipo de cron como Calendar para diario, mensual y anual ‘cron_detail’: { ‘hour’: 0, # establecer la hora del día en que el cron debe ejecutarse ‘minute’: 0, # establecer el minuto del día en que el cron debe ejecutarse ‘second’: 0, # establecer el segundo del día en que el cron debe ejecutarse ‘days’: [1, 3, 5], # establecer los días del mes en que el cron debe ejecutarse # ‘week_day’: [1, 3], # establecer los días de la semana en un mes durante los cuales el cron debe ejecutarse # ‘weeks_of_month’: [2], # establecer las semanas del mes durante las cuales el cron debe ejecutarse ‘repetition_type’: ‘monthly’ # establecer el tipo de repetición como monthly para cron mensual }, ‘job_meta’: job_meta # establecer metadatos del function job })

# CRON ANUAL => que se ejecutará a las 0hrs 0min 0seg los días 1, 2, 3 del mes 8 del año

yearly_cron = job_scheduling.CRON.create({ ‘cron_name’: ‘yearly_cron’, # establecer un nombre para el cron (único) ‘cron_status’: True, # establecer el estado del cron como habilitado ‘cron_type’: ‘Calendar’, # establecer el tipo de cron como Calendar para diario, mensual y anual ‘cron_detail’: { ‘hour’: 0, # establecer la hora del día en que el cron debe ejecutarse ‘minute’: 0, # establecer el minuto del día en que el cron debe ejecutarse ‘second’: 0, # establecer el segundo del día en que el cron debe ejecutarse ‘days’: [1, 2, 3], # establecer los días del mes en que el cron debe ejecutarse # ‘week_day’: [1, 3], # establecer los días de la semana en un mes durante los cuales el cron debe ejecutarse # ‘weeks_of_month’: [2], # establecer las semanas del mes durante las cuales el cron debe ejecutarse ‘months’: [8], # establecer los meses del año en que el cron debe ejecutarse ‘repetition_type’: ‘yearly’ # establecer el tipo de repetición como yearly para cron anual }, ‘job_meta’: job_meta # establecer metadatos del function job })

View more

Definir Dynamic Crons usando Cron Expressions

Dynamic Cron Using Cron Expressions
copy

// CRON CON EXPRESIÓN => que se ejecutará a las 0hrs 0min cada primer día de las semanas en el primer mes del año

ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance(); // obtener instancia de job scheduling

// generar metadatos del function job ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // obtener el builder de function job .setJobConfig(2, 15 * 60 * 1000L) // configurar job - reintentos => 2 reintentos en 15 min (opcional) .setJobpoolName(“functions_job_pool”) // 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 // generar detalles del cron ZCCronDetails expressionCronDetails = ZCCronBuilder.zcExpressionCronBuilder() // obtener builder de cron con expresión .setCronStatus(true) // establecer cron como habilitado .setCronExpression(“0 0 * 1 1”) // establecer la expresión cron UNIX .setCronName(“expression_cron”) // establecer nombre del cron .setJobMeta(jobMeta) // establecer metadatos del job .build(); // construir detalles del cron

// crear cron con expresión ZCCronDetails expressionCron = jobScheduling.cron.createCron(expressionCronDetails);

View more
Dynamic Cron Using Cron Expressions
copy

// CRON CON EXPRESIÓN => que se ejecutará a las 0hrs 0min cada primer día de las semanas en el primer mes del año

const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling

// crear metadatos del function job const jobMeta = { job_name: ’test_job’, // establecer un nombre para el job target_type: ‘Function’, // establecer el tipo de destino como Function para function jobs target_name: ’target_function’, // establecer el nombre de la función destino (opcional) (target_id o target_name es obligatorio) // target_id: ‘123467890’, // establecer el Id de la función destino (opcional) (target_id o target_name es obligatorio) jobpool_name: ’test’, // establecer el nombre del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) // jobpool_id: ‘1234567890’ // establecer el Id del function job pool (opcional) (jobpool_name o jobpool_id es obligatorio) job_config: { number_of_retries: 2, // establecer el número de reintentos retry_interval: 15 * 60 * 1000 + ’’ // establecer el intervalo de reintento }, // configurar job - reintentos => 2 reintentos en 15 min (opcional) params: { arg1: ’test’, arg2: ‘job’ }, // establecer parámetros a pasar a la función destino (opcional) };

// crear detalles del cron con expresión const expressionCron = { cron_name: ’expression_cron’, // establecer un nombre para el cron (único) cron_status: true, // establecer el estado del cron como habilitado cron_type: ‘CronExpression’, // establecer el tipo de cron como Calendar para diario, mensual y anual cron_expression: ‘0 0 * 1 1’, // establecer la expresión cron cron_detail: {}, // establecer los detalles del cron job_meta: jobMeta // establecer metadatos del function job };

// crear cron con expresión const expressionCronDetails = await jobScheduling.CRON.createCron(expressionCron);

View more
Dynamic Cron Using Cron Expressions
copy
# CRON CON EXPRESIÓN => que se ejecutará a las 0hrs 0min cada primer día de las semanas en el primer mes del año

job_scheduling = app.job_scheduling() # crear instancia de job scheduling

# crear metadatos del function job

job_meta = { ‘job_name’: ’test_job’, # establecer un nombre para el job ’target_type’: ‘Function’, # establecer el tipo de destino como Function para function jobs ’target_name’: ’target_function’, # establecer el nombre de la función destino (opcional) (target_id o target_name es obligatorio) # ’target_id’: ‘123467890’, # establecer el Id de la función destino (opcional) (target_id o target_name es obligatorio) ‘jobpool_name’: ’test’, # establecer el nombre del function jobpool (opcional) (jobpool_name o jobpool_id es obligatorio) # ‘jobpool_id’: ‘1234567890’ # establecer el Id del function jobpool (opcional) (jobpool_name o jobpool_id es obligatorio) ‘job_config’: { ’number_of_retries’: 2, # establecer el número de reintentos ‘retry_interval’: 15 * 60 * 1000 # establecer el intervalo de reintento }, # configurar job - reintentos => 2 reintentos en 15 min (opcional) ‘params’: { ‘arg1’: ’test’, ‘arg2’: ‘job’ } # establecer parámetros a pasar a la función destino (opcional) }

# crear cron con expresión

expression_cron = job_scheduling.CRON.create({ ‘cron_name’: ’expression_cron’, # establecer un nombre para el cron (único) ‘cron_status’: True, # establecer el estado del cron como habilitado ‘cron_type’: ‘CronExpression’, # establecer el tipo de cron como Calendar para diario, mensual y anual ‘cron_expression’: ‘0 0 * 1 1’, # establecer la expresión cron ‘cron_detail’: {}, # establecer los detalles del cron ‘job_meta’: job_meta # establecer metadatos del function job })

View more
  1. Copia el código según tus necesidades usando el icono de copiar y agrégalo a tu lógica de negocio y codifica según tus requisitos.

  2. Las configuraciones de dynamic cron presentes en tus archivos de código se desplegarán y estarán disponibles en tu consola cuando despliegues tu proyecto en la consola de Catalyst.

  3. El Dynamic Cron se creará durante el tiempo de ejecución, y el job configurado en el código será enviado al job pool durante el tiempo de ejecución en el horario configurado. catalyst_job_scheduling_dynamic_cron_prod_created_runtime

Nota: Los fragmentos de código para crear tu dynamic cron requerido para cada tiempo de ejecución también se pueden encontrar en la documentación del SDK de cada tiempo de ejecución:

Última actualización 2026-03-24 17:38:39 +0530 IST