Releases: janbjorge/pgqueuer
Releases · janbjorge/pgqueuer
v0.18.4
What's Changed
- Use official Postgres image and streamline Docker setup by @janbjorge in #257
Full Changelog: v0.18.3...v0.18.4
v0.18.3
What's Changed
- Restructure PGQueuer documentation section by @janbjorge in #252
- Add Support for module:factory syntax by @janbjorge in #255
- Superviser restart-on-failure option by @janbjorge in #254
- Update uv lock file by @janbjorge in #256
Full Changelog: v0.18.2...v0.18.3
v0.18.2
What's Changed
- Port pgq cli to Typer by @janbjorge in #243
- Port benchmark to typer by @janbjorge in #244
- Benchmark tracks latency by @janbjorge in #247
- No autocommit mode raises RuntimeError by @janbjorge in #250
- Add drivers doc by @janbjorge in #251
Full Changelog: v0.18.1...v0.18.2
v0.18.1
What's Changed
- Heartbate class shutdown logic was reversed by @janbjorge in #240
- Add schema option to cli by @janbjorge in #242
Full Changelog: v0.18.0...v0.18.1
v0.18.0
New Features:
- Added
schedules
command to the CLI for managing schedules in PGQueuer. You can now list all schedules or remove schedules by their ID or name.
Changes:
- Internal refactoring of queries and database settings logic into a new
qb.py
module, improving maintainability and clarity. - Table formatting in the CLI is now influenced by the
TABLEFMT
environment variable rather than CLI flags. pyproject.toml
authors updated.
Breaking Changes:
- Removed
--driver
CLI option; the queueing driver is now automatically selected based on installed dependencies (asyncpg
orpsycopg
). - Removed
--table-format
argument fromdashboard
command; use theTABLEFMT
environment variable instead.
What's Changed
- Add required table checks with clearer errors by @janbjorge in #225
- Local variable event_task might not exist by @janbjorge in #232
- DBSettings uses BaseSettings by @janbjorge in #231
- Add types file by @janbjorge in #233
- Update authors by @janbjorge in #235
- Change pgcli argument schedule to schedules by @janbjorge in #238
- Simplify PostgreSQL Driver Selection in CLI and Benchmark Tool by @janbjorge in #237
Full Changelog: v0.17.3...v0.18.0
v0.17.3
What's Changed
- Update backoff executor docs. by @janbjorge in #223
Full Changelog: v0.17.2...v0.17.3
v0.17.2
What's Changed
- Add entrypoint executor: RetryWithBackoffEntrypointExecutor by @janbjorge in #215
- Add postgres v17 to ci test by @janbjorge in #222
Full Changelog: v0.17.1...v0.17.2
v0.17.1
PGQueuer Now Works with Python 3.13!
PGQueuer is now fully compatible with Python 3.13!
What's Changed
- Correct typos in documentation, tests, and scripts by @kianmeng in #213
- Add mock-job function by @janbjorge in #217
pgn listen
: print root value by @janbjorge in #218- Add
EntrypointExecutionParameter
dataclass by @janbjorge in #219 - Add tests to verify trigger ignores heartbeat updates by @janbjorge in #212
- Run Python 3.13 on CI by @janbjorge in #221
New Contributors
Full Changelog: v0.17.0...v0.17.1
v0.17.0
PGQueuer v0.17.0 Release Notes
PGQueuer v0.17.0 introduces breaking changes, improvements, and bug fixes. Please review the changes below, especially if using custom executors.
Breaking Changes
Executors Overhaul
JobExecutor
is nowAbstractEntrypointExecutor
.- The
execute()
method now requires an additionalcontext
parameter:async def execute(self, job: models.Job, context: models.Context) -> None
. - Custom Executor Registration: Use
executor_factory
instead ofexecutor
for registering executors. - EntrypointExecutor Parameters: Consolidated into
EntrypointExecutorParameters
dataclass.
Scheduler Executor Changes
- Schedulers now use
executor_factory
instead of direct instantiation. - Executor parameters are consolidated into
ScheduleExecutorFactoryParameters
.
Deprecations
- Executor Parameter: Deprecated in favor of
executor_factory
. - Retry Timer Argument: Define retry behavior at the entrypoint level instead of using
QueueManager.run()
.
Improvements
- Executors now receive a
context
object for better control over job execution.
Migration Guide
Updating Executors and Schedulers
- Update executors to inherit from
AbstractEntrypointExecutor
. - Modify
execute()
to acceptcontext
as a parameter. - Use
executor_factory
to register executors. - Update schedulers to use
executor_factory
and access attributes viaparameters
(e.g.,executor.parameters.expression
).
Merges
- Use uv in test dockerfile by @janbjorge in #205
- Revert: Use uv in test dockerfile by @janbjorge in #206
- Revert docker cache by @janbjorge in #207
- Use queue_status_type in query builder by @janbjorge in #211
- Add executor_factory to entrypoint and schedule by @janbjorge in #208
Full Changelog: v0.16.2...v0.17.0