Enviar un Job al Job Pool usando el componente Jobs
Puedes usar el componente Jobs para enviar jobs a su job pool de forma instantánea. El job se puede crear y enviar usando el Builder de la consola o usando el SDK de Java, Node.js o Python.
Antes de enviar un job al job pool, debes asegurarte de:
- Si el job se envía a un Function Job Pool, entonces el job pool necesita ser creado con la asignación de memoria adecuada para evitar retrasos en el despacho.
Para enviar un job a un job pool:
-
Navega a la sección del servicio Catalyst Job Scheduling en la consola y haz clic en Start Exploring.

-
Navega a Jobs bajo JOB EXECUTOR en la barra lateral y haz clic en Create Job.

Crear Job usando el Builder
-
Proporciona un nombre para tu job en el campo de entrada Job Name.

-
Selecciona el Job Pool al que deseas enviar este job usando el menú desplegable Select Job Pool.

- Según el Target Type de tu job pool, los pasos para configurar un job varían. A los efectos de esta documentación de ayuda, vamos a crear un job para el Function Job Pool.

Nota: Puedes encontrar los pasos para configurar un job para:
- Selecciona la Job Function que deseas activar desde el menú desplegable Target Function.

Nota:
-
Si has inicializado y codificado una Job Function desde el CLI, asegúrate de desplegarla en la consola de Catalyst para que la función aparezca en el menú desplegable.
-
Si no has creado una Job Function, haz clic en Create New. Serás dirigido a la sección Catalyst Serverless de la consola. Puedes encontrar los pasos para crear una Job Function en esta sección.
- También puedes habilitar el interruptor presente en la ventana emergente para pasar Query Parameters a tu Job Function cuando el job active la función.

-
Puedes hacer clic en Show Advanced Options para proporcionar instrucciones de reenvío.

-
Puedes elegir el número de reintentos que deseas intentar desde el menú desplegable No. of Retries, y puedes elegir el intervalo de tiempo entre cada intento de reintento usando el menú desplegable Retry Interval.

Una vez que hagas clic en Create, el job será enviado inmediatamente al job pool para su ejecución. Esto hace que la opción Builder sea una gran herramienta para probar el rendimiento de tus job pools.
Crear Job usando el SDK
Tipo de destino Function
- Selecciona el runtime requerido y haz clic en el botón de copiar para copiar el fragmento de código.

// FUNCTION JOB
// obtener instancia de job scheduling
ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance();
ZCJobpool jobpool = jobScheduling.jobpoolInstance(“test”); // crear una instancia de job pool para el function job pool llamado test
// 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)
.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
// enviar function job
ZCJobDetails functionJob = jobpool.submitJob(jobMeta);
// FUNCTION JOB
const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling
const jobpool = jobScheduling.jobpool({ name: ’test’ }); // crear instancia de job pool para el function job pool llamado test
// crear function job
const functionJob = await jobpool.submitJob({
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)
params: {
arg1: ’test’,
arg2: ‘job’
}, // establecer parámetros a pasar a la función destino (opcional)
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)
});
job_scheduling = app.job_scheduling() # crear instancia de job scheduling
jobpool = job_scheduling.jobpool(jobpool_name=“test”) # crear instancia de jobpool para el function jobpool llamado test
# crear function job
function_job = jobpool.submit_job({
‘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)
‘params’: {
‘arg1’: ’test’,
‘arg2’: ‘job’
}, # establecer parámetros a pasar a la función destino (opcional)
‘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)
})
Tipo de destino Circuit
- Selecciona el runtime requerido y haz clic en el botón de copiar para copiar el fragmento de código.

// CIRCUIT JOB
// obtener instancia de job scheduling
ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance();
// crear una instancia de job pool
ZCJobpool jobpool = jobScheduling.jobpoolInstance(“test”); // crear una instancia de job pool para el circuit job pool llamado test
// generar metadatos del circuit job
ZCJobMetaDetail jobMeta = ZCJobBuilder.circuitJobBuilder() // crear builder de circuit job
.setJobConfig(2, 15 * 60 * 1000L) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setTargetName(“target_circuit”) // establecer el nombre del circuit destino (opcional) (TargetName o TargetId es obligatorio)
// .setTargetId(1234567890L) // establecer el Id del circuit destino (opcional) (TargetName o TargetId es obligatorio)
.setCircuitInput(new JSONObject() {
{
put(“key1”, “value1”);
put(“key2”, “value2”);
}
}) // establecer los casos de prueba para el circuit
.setJobName(“test_job”) // establecer nombre del job
.build(); // construir metadatos del circuit job
// enviar circuit job
ZCJobDetails circuitJob = jobpool.submitJob(jobMeta);
// CIRCUIT JOB
const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling
const jobpool = jobScheduling.jobpool({ name: ’test’ }); // crear instancia de job pool para el circuit job pool llamado test
// crear circuit job
const circuitJob = await jobpool.submitJob({
job_name: ’test_job’, // establecer un nombre para el job
target_type: ‘Circuit’, // establecer el tipo de destino como Circuit para circuit jobs
target_name: ’target_circuit’, // establecer el nombre del circuit destino (opcional) (target_id o target_name es obligatorio)
// target_id: ‘123467890’, // establecer el Id del circuit destino (opcional) (target_id o target_name es obligatorio)
test_cases: {
arg1: “job”,
arg2: “test”
}, // establecer los casos de prueba del circuit
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)
});
job_scheduling = app.job_scheduling() # crear instancia de job scheduling
jobpool = job_scheduling.jobpool(jobpool_name=“test”) # crear instancia de jobpool para el circuit jobpool llamado test
# crear circuit job
circuit_job = jobpool.submit_job({
‘job_name’: ’test_job’, # establecer un nombre para el job
’target_type’: ‘Circuit’, # establecer el tipo de destino como Circuit para circuit jobs
’target_name’: ’target_circuit’, # establecer el nombre del circuit destino (opcional) (target_id o target_name es obligatorio)
# ’target_id’: ‘123467890’, # establecer el Id del circuit destino (opcional) (target_id o target_name es obligatorio)
’test_cases’: {
‘arg1’: ‘job’,
‘arg2’: ’test’
}, # establecer los casos de prueba del circuit
‘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)
})
Tipo de destino Webhook
- Selecciona el runtime requerido y haz clic en el botón de copiar para copiar el fragmento de código.

// WEB HOOK JOB
// obtener instancia de job scheduling
ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance();
// crear una instancia de job pool
ZCJobpool jobpool = jobScheduling.jobpoolInstance(“test”); // crear una instancia de job pool para el webhook job pool llamado test
// generar metadatos del webhook job
ZCJobMetaDetail jobMeta = ZCJobBuilder.webhookJobBuilder() // crear builder de webhook job
.setJobConfig(2, 15 * 60 * 1000L) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setRequestMethod(“POST”) // establecer el método de solicitud del webhook
.setUrl(“https://catalyst.zoho.com”) // establecer la URL de solicitud del webhook
.setParams(new JSONObject() {
{
put(“arg1”, “test”);
put(“arg2”, “job”);
}
}) // establecer los query params de la solicitud del webhook (opcional)
.setHeaders(new JSONObject() {
{
put(“IS_TEST_REQUEST”, “true”);
}
}) // establecer los headers de la solicitud del webhook (opcional)
.setRequestBody(“test_request”) // establecer el body de la solicitud del webhook (opcional)
.setJobName(“test_job”) // establecer nombre del job
.build(); // construir metadatos del webhook job
// enviar webhook job
ZCJobDetails webHookJob = jobpool.submitJob(jobMeta);
// WEBHOOK JOB
const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling
const jobpool = jobScheduling.jobpool({ name: ’test’ }); // crear instancia de job pool para el webhook job pool llamado test
// crear webhook job
const webhookJob = await jobpool.submitJob({
job_name: ’test_job’, // establecer un nombre para el job
target_type: ‘Webhook’, // establecer el tipo de destino como Webhook para webhook jobs
request_method: ‘POST’, // establecer el método de solicitud del webhook
url: ‘https://catalyst.zoho.com’, // establecer la URL de solicitud del webhook
params: {
arg1: ’test’,
arg2: ‘job’
}, // establecer los query params de la solicitud del webhook (opcional)
headers: {
IS_TEST_REQUEST: ’true’
}, // establecer los headers de la solicitud del webhook (opcional)
request_body: ’test_request’, // establecer el body de la solicitud del webhook (opcional)
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)
});
job_scheduling = app.job_scheduling() # crear instancia de job scheduling
jobpool = job_scheduling.jobpool(jobpool_name=“test”) # crear instancia de jobpool para el webhook jobpool llamado test
# crear webhook job
webhook_job = jobpool.submit_job({
‘job_name’: ’test_job’, # establecer un nombre para el job
’target_type’: ‘Webhook’, # establecer el tipo de destino como Webhook para webhook jobs
‘request_method’: ‘POST’, # establecer el método de solicitud del webhook
‘url’: ‘https://catalyst.zoho.com’, # establecer la URL de solicitud del webhook
‘params’: {
‘arg1’: ’test’,
‘arg2’: ‘job’
}, # establecer los query params de la solicitud del webhook (opcional)
‘headers’: {
‘IS_TEST_REQUEST’: ’true’
}, # establecer los headers de la solicitud del webhook (opcional)
‘request_body’: ’test_request’, # establecer el body de la solicitud del webhook (opcional)
‘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)
})
Tipo de destino AppSail
- Selecciona el runtime requerido y haz clic en el botón de copiar para copiar el fragmento de código.

// APPSAIL JOB
// obtener instancia de job scheduling
ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance();
// crear una instancia de job pool
ZCJobpool jobpool = jobScheduling.jobpoolInstance(“test”); // crear una instancia de job pool para el appsail job pool llamado test
// generar metadatos del appsail job
ZCJobMetaDetail jobMeta = ZCJobBuilder.appSailJobBuilder() // crear builder de appsail job
.setJobConfig(2, 15 * 60 * 1000L) // configurar job - reintentos => 2 reintentos en 15 min (opcional)
.setTargetName(“test_appsail”) // establecer nombre de appsail
.setRequestMethod(“POST”) // establecer método de solicitud de appsail
.setUrl("/test") // establecer URL de solicitud de appsail
.setParams(new JSONObject() {
{
put(“arg1”, “value1”);
put(“arg2”, “value2”);
}
}) // establecer query params de solicitud de appsail
.setHeaders(new JSONObject() {
{
put(“IS_TEST_REQUEST”, “true”);
}
}) // establecer los headers de la solicitud de appsail (opcional)
.setRequestBody(“test_request”) // establecer el body de la solicitud de appsail (opcional)
.setJobName(“test_job”) // establecer nombre del job
.build(); // construir metadatos del appsail job
// enviar appsail job
ZCJobDetails appSailJob = jobpool.submitJob(jobMeta);
// APPSAIL JOB
const jobScheduling = app.jobScheduling(); // crear instancia de job scheduling
const jobpool = jobScheduling.jobpool({ name: ’test’ }); // crear instancia de job pool para el appsail job pool llamado test
// crear appsail job
const appsailJob = await jobpool.submitJob({
job_name: ’test_job’, // establecer un nombre para el job
target_type: ‘AppSail’, // establecer el tipo de destino como AppSail para appsail jobs
target_name: ’target_appsail’, // establecer el nombre del appsail destino (opcional) (target_id o target_name es obligatorio)
// target_id: ‘123467890’, // establecer el Id del appsail destino (opcional) (target_id o target_name es obligatorio)
request_method: ‘POST’, // establecer el método de solicitud de appsail
url: ‘/test’, // establecer la ruta URL de appsail (opcional)
params: {
arg1: ’test’,
arg2: ‘job’
}, // establecer los query params de la solicitud de appsail (opcional)
headers: {
IS_TEST_REQUEST: ’true’
}, // establecer los headers de la solicitud de appsail (opcional)
request_body: ’test_request’, // establecer el body de la solicitud de appsail (opcional)
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)
});
job_scheduling = app.job_scheduling() # crear instancia de job scheduling
jobpool = job_scheduling.jobpool(jobpool_name=“test”) # crear instancia de jobpool para el appsail jobpool llamado test
# crear appsail job
appsail_job = jobpool.submit_job({
‘job_name’: ’test_job’, # establecer un nombre para el job
’target_type’: ‘AppSail’, # establecer el tipo de destino como AppSail para appsail jobs
’target_name’: ’target_appsail’, # establecer el nombre del appsail destino (opcional) (target_id o target_name es obligatorio)
# ’target_id’: ‘123467890’, # establecer el Id del appsail destino (opcional) (target_id o target_name es obligatorio)
‘request_method’: ‘POST’, # establecer el método de solicitud de appsail
‘url’: ‘/test’, # establecer la ruta URL de appsail (opcional)
‘params’: {
‘arg1’: ’test’,
‘arg2’: ‘job’
}, # establecer los query params de la solicitud de appsail (opcional)
‘headers’: {
‘IS_TEST_REQUEST’: ’true’
}, # establecer los headers de la solicitud de appsail (opcional)
‘request_body’: ’test_request’, # establecer el body de la solicitud de appsail (opcional)
‘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)
})
- Pega el fragmento en tu archivo de código y diseña tu lógica.
El job que crees para tu proyecto siempre estará disponible en la sección del componente Job.
Una vez que el job sea enviado, podrás ver todos los detalles generales del job enviado en la sección Job Definition. También podrás ver el estado de la ejecución del job en la sección Job Execution & Status.
El estado de ejecución del job también se etiquetará en la parte superior junto al Job Name. También se te proporcionará la Job Definition en formato de código JSON que puedes copiar y usar para enviar un nuevo job con las mismas especificaciones. También puedes visitar los logs de la ejecución generados en el componente Logs de DevOps haciendo clic en el botón View Logs.
Última actualización 2026-03-24 17:38:39 +0530 IST
Yes
No
Send your feedback to us






