Added support for queue names longer than 63 characters.
A database migration (dropping and recreating the pq_notify trigger) is required if using names longer than this limit. If not using, then no migration is required.
Return connections to the pool if an exception is raised while it is retrieved
- Added overridable encode and decode methods which are responsible for turning task data into JSON and vice-versa.
- Change policy on task priority. Tasks with a null-value for expected_at are now processed after items that have a value set.
- Use SKIP LOCKED instead of advisory lock mechanism (PostgreSQL 9.5+).
- Fix queue class factory pattern.
- Fix compatibility with NamedTupleCursor.
- Fix duplicate column name issue.
- Add option to specify own queue class.
- Fixed Python 2 compatibility.
- Added worker class and handler helper decorator. [jeanphix]
- Python 3 compatibility. [migurski]
- Fix time zone issue.
Improvements:
- Fixed concurrency issue where a large number of locks would be held as a queue grows in size.
- Fixed a database connection resource issue.
Features:
- A queue is now also a context manager, providing transactional semantics.
- A queues now returns task objects which provide metadata and allows reading and writing task data.
Improvements:
- The same connection pool can now be used with different queues.
Bugs:
- The Literal string wrapper did not work correctly with psycopg2.
- The transaction manager now correctly returns connections to the pool.
- Initial public release.