Releases: janbjorge/pgqueuer
v0.19.3
What's Changed
- Hotfix; Run upgrade queries one by one by @janbjorge in #312
Full Changelog: v0.19.2...v0.19.3
v0.19.2
What's Changed
- Set default log level to INFO and simplify logger setup by @janbjorge in #309
Full Changelog: v0.19.1...v0.19.2
v0.19.1
Release Summary
Enhanced Logging Control
-
--log-level
Option Added: You can now set the log level dynamically via the CLI using the new--log-level
flag. -
Avoided
basicConfig
on Import: Removed automatic logging configuration on import to prevent unintended side effects. Logging is now explicitly set usingsetup_fancy_logger
.
Full Changelog: v0.19.0...v0.19.1
v0.19.0
PGQueuer v0.19.0 Release Notes
Overview
PGQueuer v0.19.0 introduces significant changes aimed at enhancing performance and improving logging. This release includes breaking changes, so please review the notes carefully to ensure a smooth upgrade.
Breaking Changes
-
Unified Status Enum
Thequeue_status_type
andstatistics_table_status_type
enums have been consolidated into a single unified enum. This simplifies status management across the system.
[PR #294](#294) -
Enhanced Job Logging with
queue_table_log
A newqueue_table_log
has been introduced to improve job logging and performance. This change affects how job statuses are recorded and reported. The new logging mechanism delivers an approximate 2.5x performance boost.
[PR #287](#287) -
Durability Policy Introduction
A new durability policy mechanism has been added, allowing explicit configuration of table logging modes. This feature provides greater control over performance and data durability.
[PR #301](#301)
New Features
-
Durability Policy Configuration
Introduced explicit logging modes through a new durability policy, enabling users to choose betweenvolatile
,balanced
, anddurable
configurations for table logging.- Volatile: All tables are unlogged, offering maximum performance at the cost of durability. Suitable for temporary or ephemeral data where data loss is acceptable.
- Balanced: The main queue and schedules tables are logged for durability, while auxiliary tables like logs and statistics are unlogged for better performance.
- Durable: All tables are fully logged to ensure maximum data integrity and durability, ideal for production environments where data loss is unacceptable.
[PR #301](#301)
-
Updated CLI with New Commands
The CLI has been enhanced with new commands and improved documentation. Thequeue
command now has better support and clearer documentation.
[PR #302](#302)
Migration Guide
To upgrade to v0.19.0, follow these steps:
-
Update Enums:
- Replace references to
queue_status_type
andstatistics_table_status_type
with the new unified status enum.
- Replace references to
-
Apply Schema Changes:
- Run the
pgq upgrade
command to apply the new schema changes, including the creation ofqueue_table_log
.
- Run the
-
Configure Durability Policy:
- Review and set the appropriate durability policy using the new CLI options to balance performance and data durability according to your needs.
Full Changelog
For a detailed list of all changes, refer to the [full changelog](v0.18.10...v0.19.0).
Its recommend thorough testing before deploying v0.19.0 to production environments due to the breaking changes included in this release. For any issues, please report them on [GitHub Issues](https://github.com/janbjorge/pgqueuer/issues).
Full Changelog: v0.18.10...v0.19.0
v0.18.10
What's Changed
- Add queue cli option by @janbjorge in #295
- Remove build of prometheus docker image by @janbjorge in #297
- Resolve Infinite Retry Loop on Database Outage and Enhance Buffer Shutdown Behavior by @janbjorge in #296
Full Changelog: v0.18.9...v0.18.10
v0.18.9
Full Changelog: v0.18.8...v0.18.9
v0.18.8
What's Changed
- Refactor benchmark script by @janbjorge in #286
- Use async_timeout in RetryWithBackoffEntrypointExecutor by @janbjorge in #291
- Update docs to explain asyncpg's default autocommit mode, unlike psycopg by @janbjorge in #290
- Update RetryWithBackoffEntrypointExecutor docs by @janbjorge in #292
Full Changelog: v0.18.7...v0.18.8
v0.18.7
What's Changed
- Use dependency-groups by @janbjorge in #275
- Remove use of docker compose populate in ci by @janbjorge in #276
- Add ExponentialBackoff dataclass by @janbjorge in #277
- Adjust backoff start delay and multiplier by @janbjorge in #279
- Use nullcontext if concurrency_limit = 0 by @janbjorge in #278
- Use tmpfs for CI postgres service by @janbjorge in #280
- fix: add a missing call to AsyncpgPoolDriver._lock before handling _listener_connection by @tvallotton in #283
New Contributors
- @tvallotton made their first contribution in #283
Full Changelog: v0.18.6...v0.18.7
v0.18.6
What's Changed
- Use gh postgres service by @janbjorge in #271
- only use uvloop on unix by @trim21 in #272
- Bump ruff to 0.9.0 by @janbjorge in #273
- Update CI run example syntax by @janbjorge in #274
Full Changelog: v0.18.5...v0.18.6
v0.18.5
Release Notes for v0.18.5
Enhancements and Features
- CLI Improvements: Added support for the
--factory
option in thedashboard
CLI command for custom factory configurations. (#260) - Performance: Switched to using
uvloop
for improved event loop performance across the application. (#263) - Annotation Updates: Updated
run_factory
annotations to includeAbstractContextManager
for better type coverage. (#261) - Supervisor Enhancements: Added lifespan hooks in the supervisor for cleaner setup and teardown processes. (#265)
Maintenance and Bug Fixes
- CI Update: Updated the CI workflows to explicitly use
ubuntu-22.04
for consistency and reproducibility. (#270) - Dependency Updates: Bumped various dependencies, including
pytest-asyncio
,ruff
, andpydantic-settings
, ensuring compatibility with the latest versions. (#264) - Annotation Cleanup: Minor improvements to annotation types for better code clarity. (#267)
- Optimizations: Skipped updates to RPS (Rate Per Second) statistics when no data is available, reducing unnecessary operations. (#268)
New Contributors
Full Changelog
For the complete list of changes, refer to: v0.18.4...v0.18.5