pg_timetable är en PostgreSQL jobbschemaläggare utvecklad av CYBERTEC. Det erbjuder avancerad flexibilitet och ett stort antal funktioner.

Jobbschemaläggning är ett av de viktigaste ämnena inom modern databashantering. I PostgreSQL-ekosystemen har pgAgent och pg_cron blivit ganska populära. Båda verktygen har dock en hel del begränsningar. Därför har vi beslutat att släppa vår egen lösning: Välkommen pg_timetable, nästa generations PostgreSQL jobbschemaläggare.

Varför pg_timetable?

1. Pålitlig och stabil arkitektur

2. Stöd för komplex utförande

  • Stöd för komplexa uppgiftskedjor
  • Möjlighet att skapa moduler
  • Sofistikerad felhantering
  • Stöd för transaktionskörning
  • Samtidigt skydd

3. Möjlighet att utföra olika typer av uppgifter

  • SQL-skript
  • Shell-körbara filer
  • Inbyggda uppgifter (skicka e-post etc.)
  • självförstörande kedjor

1. Pålitlig och stabil arkitektur

Hur pg_timetable fungerar

pg_timetable är en enkel, enkel att köra körbar, som ansluts till PostgreSQL. Det är inte en del av själva serverinfrastrukturen. Av denna anledning utgör det varken ett säkerhetshot eller en stabilitetsproblem för din server. Den körs självständigt och implementeras som en enkel, robust arkitektur.

pg_timetable är 100% databasdrivet och låter dig använda PostgreSQL ensam för att kontrollera dina arbetsflöden. All logg sparas i databasen och därför är det super lätt att dissekera loggningsinformation med vanlig SQL. Du kan också visualisera data och exekveringsloggar snabbt och enkelt med hjälp av en teknikstack som du väljer.

2. Stöd för komplex utförande

Utför komplexa arbetsflöden

Traditionella jobbschemaläggare, som cron eller pg_cron, kan antingen starta skript eller köra SQL. Det verkar vara väldigt svårt att kombinera dessa uppgifter och att fylla på med moduleringsproblem. pg_timetable hjälper dig att köra dessa operationer. ”Basuppgifter” kan kombineras på ett flexibelt sätt och hela ”kedjor” kan utföras regelbundet vilket ger dig mycket flexibilitet.

 

PostgreSQL-jobb och samtidigt skydd

Dessutom erbjuder pg_timetable inbyggt samtidighetsskydd. Det innebär att det förhindrar att enskilda jobb fortsätter att starta sig själva, samtidigt som din server långsamt dödas. Genom att använda en enkel flagga kan pg_timetable synkronisera komplexa arbetsflöden.

 

Transaktionsjobb och felhantering

För det mesta ska ett jobb köras i en databastransaktion och antingen misslyckas eller lyckas helt – inget däremellan. pg_timetable är helt baserat på transaktioner. Därför låter det dig flexibelt kombinera ”basuppgifter” i enstaka transaktioner, vilket ger tillförlitlighet och integritet till dina uppgiftskedjor.

3. Möjlighet att utföra olika typer av uppgifter

Konfigurera pg_timetable ”cron style”

I allmänhet kan pg_timetable konfigureras med vanlig SQL. Vissa människor föredrar dock konfiguration i cron-stil. För att komma igång snabbt stöder pg_timetable också ett konfigurationsgränssnitt i cron-stil för att göra det lättare att snabbt konfigurera jobb. Detta är särskilt användbart om du vill köra enkla jobb. Det översätter sedan din konfiguration till det mer avancerade pg_timetable-sättet för dig automatiskt.

Självdestruktiva kedjor

Vad händer om du vill schemalägga en uppgift som bara ska utföras exakt en gång om den lyckas? Du vill till exempel ta bort en användare om två veckor framöver eller skicka en påminnelse till en klient bara en gång. pg_timetable låter dig enkelt schemalägga självförstörande kedjor av exakt dessa skäl.

4. pg_timetable: Molnklar efter design

pg_timetable har utformats för att vara molnklar från början. Kör bara pg_timetable som en Docker-behållare, använd Kubernetes och / eller OpenShift. Det finns inga externa beroenden. pg_timetable finns som en behållare och som en statiskt länkad binär för enkel användning. Du kan distribuera pg_timetable hos alla molnleverantörer.

Om du kör pg_timetable i en molnmiljö kan möjligheten att köra kommandoradsverktyg enkelt inaktiveras med en enkel parameter:

--no-program-tasks Disable executing of PROGRAM
tasks [$PGTT_NOPROGRAMTASKS]

Detta säkerställer maximal säkerhet och tillförlitlig schemaläggning i alla miljöer.

 

Kontakta oss om du vill veta mer!

Ladda ner

pg_timetable är öppen källkod och kan användas fritt av alla. Ladda ner källkoden från GitHub eller använd Dockerfile om du vill köra den direkt i en container.

Ladda ner >>

Som alltid uppmuntrar vi dig att bidra till vår Open Source-lösning och att skicka korrigeringar.