CYBERTEC Logo

PG Timetable - Planificación avanzada de ejecuciones

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

Job Scheduling Workflow - 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 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.

Task Chains - pg_timetable

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.

Concurrency Protection - pg_timetable

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.

4. pg_timetable: Cloud-ready by design

pg_timetable has been designed to be cloud-ready from the start. Simply run pg_timetable as a Docker container, make use of Kubernetes and / or OpenShift. There are no external dependencies. pg_timetable is available as a container and as a statically linked binary for simple use. You can deploy pg_timetable at any cloud provider.

If you are running pg_timetable in a cloud environment the ability to run command line tools can be disabled easily using a simple parameter:

This ensures maximum security and reliable scheduling in any environment.

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.

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

CYBERTEC Logo white
CYBERTEC PostgreSQL International GmbH
Römerstraße 19
2752 Wöllersdorf
Austria

+43 (0) 2622 93022-0
office@cybertec.at

Get the newest PostgreSQL Info & Tools


    This site is protected by reCAPTCHA and the Google Privacy Policy & Terms of Service apply.

    ©
    2024
    CYBERTEC PostgreSQL International GmbH
    phone-handsetmagnifiercrosscross-circle linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram