Skip to content

v2.0.0

Latest

Choose a tag to compare

@janbjorge janbjorge released this 09 Nov 08:34
· 1 commit to main since this release
76dee1e

PgQueuer v2.0.0

PgQueuer v2.0.0 improves queue correctness, scheduler behavior, observability, and PostgreSQL/in-memory parity.

Run pgq upgrade before starting workers. This release adds pgqueuer_statistics_created; its CREATE INDEX blocks writes to pgqueuer_statistics while it runs.

Breaking changes

  • Python 3.11 is now the minimum supported version.
  • Removed --dry-run from pgq install, uninstall, upgrade, durability, and autovac. Use pgq sql <command> to print SQL.
  • Removed ignored pgq upgrade --durability / -d; use pgq durability.
  • Removed pgqueuer.domain.settings.add_prefix(). Use DBSettings(prefix=...) or PGQUEUER_PREFIX.
  • Removed Driver.tm and TaskManagerPort.

Highlights

  • throughput_timeseries(bucket=...) supports whole-second buckets from a fixed UTC origin. Statistics remain stored per second.
  • Cancelling a picked job retains its concurrency slot and dedupe key until its worker records completion.
  • Requeued and retried jobs notify idle listeners immediately.
  • Every-second schedules run every second. New schedules are detected within one second when none are registered.
  • Fixed dequeue eligibility for jobs due exactly at the current database time.
  • Fixed duplicated statistics aggregation, traceback reads through psycopg, large retry-backoff overflows, NUL characters in failure data, and Prometheus label escaping.
  • Improved in-memory/PostgreSQL parity for queue order, dedupe conflicts, schedule handling, statistics, and job logging.

New Contributors

Full Changelog: v1.6.0...v2.0.0