pg_timetable: Advanced PostgreSQL job scheduling

From: PostgreSQL - Hans-Jürgen Schönig <hs(at)cybertec(dot)at>
To: pgsql-announce(at)postgresql(dot)org
Subject: pg_timetable: Advanced PostgreSQL job scheduling
Date: 2019-10-16 08:31:40
Message-ID: dd163f31-fe1c-5188-71be-b00b76e1a4f2@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

*pg_timetable - Advanced PostgreSQL job scheduling*

Job scheduling is one of the most important topics in modern application
and database management.
In the PostgreSQL ecosystems, pgAgent and pg_cron have become quite
popular. However, both
tools have a fair amount of limitations.
Hence, we have decided to release our own solution: Welcome
pg_timetable, the next generation
PostgreSQL job scheduler.

*Advantages of pg_timetable:*

*a.) pg_timetable is a daemon:*
In contrast to other tools, pg_timetable is not a PostgreSQL worker
process. This means that if the
scheduler crashes, it cannot harm your server. pg_timetable is an
independent process written in
GO which connects to PostgreSQL just like any other client program.

*b.) pg_timetable supports chaining*
Often you want to execute a sequence of tasks and not just a single
operation. Maybe you want to
download a file, import it, run some aggregation, commit the transaction
and send an email. All those
base tasks might be used under different circumstances using different
set of parameters. Maybe
you want to send emails to notify your clients about something going on
in the database, send a
reminder or whatever. pg_timetable provides a variety of built in tasks
which help you to flexibly
combine those operations in an easy way. Simply select a base task, pass
parameters, and assign
those tasks to an execution chain.

*c.) Concurrency protection*
If you are still using cron jobs, one of the major problems is that a
job might run more than once at the
same time. This can lead to serious problems that might harm your
database. pg_timetable can handle
concurrency protection for you. You can tell the system that a chain can
only be executed once at a
time. In the near future, you will even be able to set an upper limit of
concurrent jobs.

*d.) Configuring jobs "cron style"*
Most people know how to use cron. In order to get you started quickly,
pg_timetable also supports a
cron-style configuration interface to make it easier to configure jobs
as fast as possible. This is especially
useful if you want to run simple jobs.

*e.) Statically linked binaries*
There is no need to worry about libraries or dependencies. pg_timetable
has been implemented in GO
and therefore comes as ONE executable which can be started directly. No
missing libraries, no Linux
specifics. We also provide a ready to use Dockerfile if you want to
directly run pg_timetable in a container.

pg_timetable is Open Source and can be used freely by everyone.
Visit our GitHub page for downloads and details.

https://www.cybertec-postgresql.com/en/products/pg_timetable/
https://github.com/cybertec-postgresql/pg_timetable

--
Hans-Jürgen Schönig
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt
Web: https://www.cybertec-postgresql.com

Browse pgsql-announce by date

  From Date Subject
Next Message Grigory Smolkin 2019-10-16 17:14:04 pg_probackup 2.2.3 released
Previous Message Monica Real Amores 2019-10-15 15:14:25 repmgr 5.0 Available - Now with Support for PostgreSQL 12