2 Repos
Operations for initializing and deleting the underlying database structures that represent named queues.
Distinct from Queue Management: Focuses on the creation and destruction of the queue entity itself rather than prioritizing tasks within a queue.
Explore 2 awesome GitHub repositories matching devops & infrastructure · Queue Lifecycle Management. Refine with filters or upvote what's useful.
PGMQ ist ein leichtgewichtiges Message-Queuing-System, das als PostgreSQL-Erweiterung implementiert ist, um asynchrone Aufgaben zu verwalten. Es fungiert als datenbankgestützter Message-Broker, der PostgreSQL für persistente Speicherung, atomare Operationen und benachrichtigungsgesteuerte Zustellung nutzt. Das System bietet ein SQS-kompatibles Queue-Modell mit Sichtbarkeits-Timeouts und verzögerter Zustellung. Es unterstützt eine strikte First-in-First-out-Reihenfolge durch Gruppen-Keys und Batch-Abruf, um die sequentielle Verarbeitung verwandter Aufgaben sicherzustellen. Das Projekt deckt den gesamten Lebenszyklus einer Nachricht ab, einschließlich Produktion, Konsum über atomare Pop-Operationen und administrative Verwaltung wie Queue-Bereinigung und Lebenszykluskontrolle. Es enthält Routing-Funktionen durch themenbasierte Muster und Zuverlässigkeitsmerkmale wie Dead-Letter-Queueing, Nachrichtenarchivierung und Wiederholungslogik. Überwachungstools werden bereitgestellt, um operative Metriken wie Queue-Länge und Durchsatz zu verfolgen.
Implements administrative tools for creating and deleting the database tables used for queue storage.
Oban ist ein verteilter, datenbankbasierter Task-Prozessor für Elixir-Anwendungen. Er fungiert als zuverlässige Job-Queue, die relationale Datenbanken als primäre Quelle der Wahrheit für Zeitplanung, Persistenz und Zustandsverwaltung nutzt. Durch die Verwendung der Datenbank zur Koordination wird sichergestellt, dass Hintergrundaufgaben über Systemneustarts hinweg dauerhaft und über verteilte Cluster hinweg konsistent bleiben. Das System zeichnet sich durch die Verwendung datenbankbasierter Primitive zur Verwaltung clusterweiter Operationen aus. Es verwendet Listen-Notify-Messaging, um sofortiges Aufwecken von Workern auszulösen, wodurch ineffizientes Polling umgangen wird, und nutzt geteilte Datenbank-Locks, um Leader für die clusterweite Task-Koordination zu wählen. Diese Architektur ermöglicht eine granulare Kontrolle über die Ausführung, einschließlich der Möglichkeit, Workloads in benannte Queues mit unabhängigen Concurrency-Limits zu isolieren und Job-Eindeutigkeit zum Zeitpunkt des Einfügens zu erzwingen. Über die Kernverarbeitung hinaus bietet das Projekt eine umfassende Suite für Workflow-Orchestrierung, einschließlich Unterstützung für Job-Batching, rekursive Zeitplanung und komplexe Sequenzen abhängiger Aufgaben. Es enthält integrierte Observability durch strukturierte Telemetrie, Lebenszyklusverfolgung und administrative Tools zur Verwaltung von Job-Zuständen, wie etwa Abbruch, Verschiebung und manuelle Wiederholungen. Das System ist auf Erweiterbarkeit ausgelegt und erlaubt benutzerdefinierte Plugins und Konfiguration über externe Dateien. Die Bibliothek unterstützt mehrere relationale Datenbank-Backends und enthält robuste Wartungsroutinen für Datenpartitionierung und -bereinigung, um die Performance zu erhalten. Sie integriert sich direkt in Anwendungs-Supervision-Trees und bietet eine dedizierte Test-Suite, die synchrone Ausführung und Simulation von Hintergrundaufgaben innerhalb von Testumgebungen ermöglicht.
Allows programmatic control over starting, pausing, or resuming queues for maintenance and demand management.