Release Notes
Breaking
- **Simplified Database Connection**: The system no longer requires a connection pool. Instead, a single database connection is now used.
Major
- **Database Abstraction Layer**: Introduction of `db.py` to provide database driver abstractions, supporting both AsyncPG and Psycopg drivers for PostgreSQL.
- **Performance Boost**: Introducing the `JobBuffer` class has significantly increased job processing performance, now handling up to 18,000 jobs per second, up from 5,000 jobs per second.
- **Buffer Management**: The `JobBuffer` class to handle job accumulation and flushing based on capacity or timeout, improving job processing efficiency.
Minor
- **Dependency Management**: Adjustments in `pyproject.toml` to include and better manage dependencies such as `asyncpg` and `psycopg`.
- **Queue Manager Updates**: Significant enhancements in `QueueManager` to integrate the new `JobBuffer`, optimizing job handling and logging.
- **CLI Improvements**: Enhancements to `cli.py` to support the new driver implementations and streamline command execution.
- **Benchmarking**: Updates to benchmarking scripts for better performance tracking and configuration options.
These changes aim to enhance performance, improve code maintainability.
**Full Changelog**: https://github.com/janbjorge/PgQueuer/compare/0.4.1...v0.5.0