- Use a ConnectionPool to connect to the Database instead of a single connection.
- The
reschedule()
method has an optional parameter to decrease the TTL if set to True (False by default). - The
add()
andadd_many()
methods set thecan_start_at
by default to the current time of the database clock, not Python, for consistency.
- The
complete()
method now returns the count of updated tasks, 0 if it was already completed
- Restrict the type yielded by the generator to never be None
- Allow delayed schedule of tasks, use clearer name for database columns
- Add
get_many
helper to retrieve multiple tasks with a single DB call - Add
add_many
helper to insert multiple tasks with a single transaction - Create an index on the table, can now scale to millions of tasks
- Every method returning tasks returns the queue name too, in case multi-queue is added later
- Type hints are made available to users thanks to
py.typed
- Adding a task now returns its UUID, previously nothing was returned
- Upgraded dependencies, now this library requires Python 3.9 (previously was 3.8)
- Change name of
check_expired_leases()
to make it a public method
- Add function to delete old completed tasks
- Improve types and formatting
- Task is now in its own column, metadata is kept apart
- Upgrades to the CI/CD pipeline
- First release