pg_timetable es un planificador de ejecuciones para PostgreSQL desarrollado por CYBERTEC. Ofrece una gran flexibilidad y versatilidad de funcionalidades.

La planificación de tareas es una de los temas más importantes en bases de datos modernas. Dentro el ecosistema PostgreSQL, pgAgent y pg_cron son herramientas populares para programar ejecuciones, sin embargo ambas presentan varias limitaciones. Por este motivo, hemos decidido lanzar nuestra propia solución: pg_timetable, un planificador de tareas de próxima generación para PostgreSQL

PG Timetable

Por qué elegir pg_timetable?

1. Arquitectura estable y confiable

2. Soporta ejecuciones complejas

  • Soporte para cadenas de tareas complejas
  • Posibilidad de crear módulos
  • Manejo de errores sofisticado
  • Sporte para ejecuciones transaccionales
  • Protección de concurrencia

3. Capacidad para ejecutar diferentes tipos de tareas

  • Scripts en SQL
  • Ejecutables Shell
  • Tareas integradas (mandar mails, etc.)
  • Cadenas autodestructivas

1. Arquitectura estable y confiable

Como funciona  pg_timetable

pg_timetable es un ejecutable simple y fácil de correr, que se conecta a PostgreSQL. No es parte de la infraestructura del servidor. Por esta razón, no es una amenaza en cuanto a la seguridad o estabilidad de su servidor. Corre de manera independiente y su implementación es simple con una arquitectura robusta.

pg_timetable: Advanced job scheduler

pg_timetable está orientado 100% a bases de datos y permite utilizar PostgreSQL como único controlador de tu flujo de trabajo. Los logs son guardados en la base de datos, por lo que resulta muy simple extraer información de los mismo utilizando SQL queries. También es posible visualizar datos y logs de ejecución rápido y fácil utilizando la tecnología que desee.

2. Soporte para ejecuciones complejas

Ejecute complejos flujos de trabajo

Planificadores de tareas tradicionales, como cron o pg_cron, pueden lanzar  scripts o ejecutar SQL, pero  es muy difícil combinar ambas tareas. Además, presenta problemas de modularización. pg_timetable lo ayuda a correr este tipo de operaciones. Las «Base tasks» pueden combinarse de manera flexible, permitiendo armar complejas cadenas de tareas.

PG_TIMETABLE: ADVANCED JOB SCHEDULING

Tareas de PostgreSQL y protección de concurrencia

Además, pg_timetable ofrece protección de concurrencia integrada. Esto previene a las tareas individuales de lanzarse a si mismas, mientras inundan su servidor lentamente. Utilizando un simple flag, pg_timetable le permite sincronizar complejas cadenas de operaciones.

PG_TIMETABLE: ADVANCED JOB SCHEDULING

Transacciones y manejo de errores.

Una tarea debe correr dentro de una transacción y esta debe terminar exitosamente o fracasar en su totalidad, sin matices. pg_timetable está completamente basado en transacciones. Esto permite combinar de manera flexible «base tasks» en una sola transacción, asegurando la integridad y confiabilidad en la tarea de tareas.

3. Ability to execute different types of tasks

Configurar pg_timetable con el estilo «cron»

En general pg_timetable puede ser configurado utilizando SQL. Sin embargo, algunos prefieren configurarlo con el estilo «cron». Para poder comenzar rápidamente, pg_timetable también soporta interfaces de configuración estilo «cron» y agendar tareas de manera sencilla. Esto es especialmente útil si desea correr tareas simples. pg_timetable transformará su configuración automáticamente al formato nativo.

Cadenas autodestructivas

Las cadenas autodestructivas sirven para ejecutar tareas una sola vez. Por ejemplo, si se quiere borrar un usuario dentro de dos semanas, o mandar un recordatorio a un cliente una sola vez. pg_timetable le permite programar cadenas de tareas autodestructivas de manera sencilla para estos casos.

 

Contactenos si desea saber más!

Descarga

pg_timetable es un software abierto y puede ser utilizado gratuitamente por todo el mundo. Descargue el código fuente desde GitHub o utilice el  Dockerfile si desea correrlo directamente desde un container.

Descarga >>

Como siempre, animamos a que todos contribuyan a nuestras soluciones de código abierto.

Other products that might interest you