-
Notifications
You must be signed in to change notification settings - Fork 4
feat: add broker and schedule source #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…r-compose for local development
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds broker and schedule source functionality to the taskiq_psqlpy library, enabling PostgreSQL-based task scheduling and message queue functionality using the psqlpy driver.
Key Changes:
- Implements PSQLPyBroker for PostgreSQL-based message queuing using LISTEN/NOTIFY
- Adds PSQLPyScheduleSource for persistent task schedule management in PostgreSQL
- Introduces new dependencies: polyfactory, pytest-asyncio, sqlalchemy-utils, faker, greenlet
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| uv.lock | Adds new dependencies (polyfactory, pytest-asyncio, sqlalchemy-utils, faker, greenlet, backports-asyncio-runner, tzdata) required for testing and schedule source functionality |
| taskiq_psqlpy/broker.py | New broker implementation using PostgreSQL LISTEN/NOTIFY for message queuing with support for delayed tasks |
| taskiq_psqlpy/schedule_source.py | New schedule source implementation for persistent storage and retrieval of scheduled tasks in PostgreSQL |
| taskiq_psqlpy/queries.py | Adds SQL queries for schedule management and message broker table operations |
| taskiq_psqlpy/result_backend.py | Updates default DSN connection string to use new standard credentials |
| taskiq_psqlpy/init.py | Exports new PSQLPyBroker and PSQLPyScheduleSource classes |
| tests/test_schedule_source.py | Adds integration tests for schedule source functionality including get, add, and delete operations |
| tests/conftest.py | Updates PostgreSQL DSN default and removes unused anyio_backend fixture |
| pyproject.toml | Adds test dependencies, updates line length to 120, and configures pytest with asyncio settings |
| docker-compose.yml | New Docker Compose configuration for local PostgreSQL development environment |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.