--- title: "Funciones Cron" url: https://docs.catalyst.zoho.com/es/serverless/help/functions/cron-functions/ description: "Catalyst Functions son estructuras de código serverless, personalizadas y basadas en la nube que contienen la lógica de negocio intensiva de tu aplicación" last_updated: 2026-03-20T16:21:56Z service: Serverless type: general --- # Funciones Cron ### Introducción Una Cron Function es una función periódica que está asociada con un [Cron](https://docs.catalyst.zoho.com/es/cloud-scale/help/cron/introduction/). Puedes crear una Cron Function para ejecutar un trabajo que necesita ser invocado una vez o periódicamente. Cuando configuras un cron en Catalyst, puedes asociarlo con la ejecución de una función o la invocación de una URL de terceros. Cuando el cron está asociado con una función, el cron job invoca la función automáticamente según su programación. Si es un trabajo de una sola vez, el cron invoca la función en la fecha y hora especificadas. Si es periódico, el cron invoca la función en los intervalos configurados, como cada mes en una fecha y hora específicas, o todos los días a una hora específica. No puedes invocar una Cron Function manualmente ni probarla en la consola. Sin embargo, puedes usar el comando `[functions:shell](https://docs.catalyst.zoho.com/es/cli/v1/working-with-functions/functions-shell/#functions-shell-command-execution)` para probarla en el CLI. Una Cron Function no devuelve ninguna respuesta más que determinar si la ejecución de la función fue un éxito o un fallo. ### Módulos de Cron Function #### Java Una Cron Function de Catalyst soporta dos módulos en **Java**: `CronRequest` y `Context`. El módulo `CronRequest` contiene los siguientes métodos integrados: 1. `**CronRequest.getCronParam()`**: Este método se usa para obtener el valor del parámetro particular pasado a la función. 2. `**CronRequest.getAllCronParams()`**: Este método se usa para obtener todos los parámetros pasados a la función. 3. `**CronRequest.getRemainingExecutionCount()`**: Este método se usa para obtener los detalles sobre las instancias de ejecución restantes de un cron job. 4. `**CronRequest.getCronDetails()`**: Este método se usa para obtener los detalles del cron como el ID del Cron y el nombre del cron. 5. `**CronRequest.getProjectDetails()`**: Se usa para obtener los detalles del proyecto, como el ID del proyecto y el nombre del proyecto. El módulo `Context` contiene los siguientes métodos integrados: 1. `**Context.getMaxExecutionTimeMs()`**: Este método se puede usar para obtener el tiempo máximo de ejecución de una Cron Function, que es un valor constante de **15 minutos**. 2. `**Context.getRemainingExecutionTimeMs()`**: Se puede usar para obtener el tiempo de ejecución restante de una Cron Function. Cuando ejecutas una función Java, devuelve el estado de la ejecución como `SUCCESS` o `FAILURE` al final de su ejecución. El estado devuelto es de tipo `com.catalyst.cron.CRON_STATUS`. #### Node.js La Cron Function de Catalyst soporta dos módulos en **Node.js**: `cronDetails` y `context`. El módulo `cronDetails` contiene los siguientes métodos integrados: 1. `**cronDetails.getCronParam()`**: Este método se usa para obtener el valor del parámetro particular pasado a la función. 2. `**cronDetails.getAllCronParam()`**: Este método se usa para obtener todos los parámetros pasados a la función. 3. `**cronDetails.getRemainingExecutionCount()`**: Para obtener los detalles sobre las instancias de ejecución restantes del cron job. 4. `**cronDetails.getCronDetails()`**: Para obtener los detalles del cron como el ID del Cron y el nombre del cron. 5. `**cronDetails.getProjectDetails()`**: Para obtener los detalles del proyecto, como el ID del proyecto y el nombre del proyecto. El módulo `context` contiene los siguientes métodos integrados: 1. `**context.getMaxExecutionTimeMs()`**: Este método se puede usar para obtener el tiempo máximo de ejecución de una función, que es un valor constante de 15 minutos. 2. `**context.getRemainingExecutionTimeMs()`**: Se puede usar para obtener el tiempo de ejecución restante de una función. 3. `**context.closeWithSuccess()`**: Este método se usa para indicar que la función se ejecutó exitosamente. Debes usar esto al final de la función. 4. `**context.closeWithFailure()`**: Este método se usa para indicar que la ejecución de la función fue un fallo. Debes usar esto al final de la función. #### Python Una Cron Function de Catalyst también soporta dos módulos en **Python**: `cron_details` y `context`. El módulo `cron_details` contiene los siguientes métodos integrados: 1. `**cron_details.get_cron_param()`** - Este método se usa para obtener el valor del parámetro particular pasado a la función. 2. `**cron_details.get_all_cron_params()`** - Este método se usa para obtener todos los parámetros pasados a la función. 3. `**cron_details.get_remaining_execution_count()`** - Para obtener los detalles sobre las instancias de ejecución restantes del cron job. 4. `**cron_details.get_cron_details()`** - Para obtener los detalles del cron como el ID del Cron y el nombre del cron. 5. `**cron_details.get_project_details()`** - Para obtener los detalles del proyecto, como el ID del proyecto y el nombre del proyecto. El módulo `context` contiene los siguientes métodos integrados: 1. `**context.get_max_execution_time_ms()`** - Este método se puede usar para obtener el tiempo máximo de ejecución de una función. Y el tiempo máximo de ejecución de una función está configurado en 15 minutos. 2. `**context.get_remaining_execution_time_ms()`** - Se puede usar para obtener el tiempo de ejecución restante de una función. 3. `**context.close_with_success()`** - Se puede usar para indicar que la función se ejecutó exitosamente. Debes usar esto al final de la función. 4. `**context.close_with_failure()`** - Para indicar que la ejecución de la función fue un fallo. Debes usar esto al final de la función.