2019-05-13
Fixed an issue where large/long arguments could cause OSError Filename too long
with the file backend (see #96).
Keys generated for file backend, are now hashed and limited to 50 characters in length.
Due to this, it is not backwards compatible with existing keys from the file backend, so any pending locks from previous version will be ignored.
The Redis backend is unchanged, and thus fully compatible.
Credit for fix to @xuhcc.
2019-05-13
- Add support for
rediss
. Thanks @gustavoalmeida
2019-05-08
- Fix an issue with the
File
backend (#89) to close file after creation, else unclosed file descriptors eventually lead to an "Too many open files" error. Thanks @xuhcc.
2019-02-25
- Added
File
backend (#84). Credit and thanks to @xuhcc.
2019-02-25
- Fixed an issue when using
autoretry_for
with a task. (#74, #75). Thanks @pkariz.
2018-04-25
Major Release:
This changes the Redis backend to use a SETNX-based lock (RedLock). This should address race conditions that the previous approach had (See: #7, #60).
This may not be backwards compatible with existing keys stored in Redis. If you are upgrading from 1.0.0, it may be safer to remove any previous used lock keys (See cameronmaske#67 (comment) for instructions).
Other changes include:
- Able to run on blocking mode when scheduling tasks with Redis backend. See the README for more details.
AlreadyQueued
exception return's countdown seconds as float instead of int.
Big thanks to @grjones for his contributions for this patch.
2018-04-25
- Fixed an issue where tasks with autoretry_for got into a locked state (#58). Thanks @andbortnik.
2017-06-12
- Cache the redis connection, instead of reinstantaiting one after each task execution (#34, #47). Thanks @brouberol.
2017-06-12
- Exclude test files from package.
- Use relative import to import Redis backend. #52
- Correctly set default_timeout from settings. #53 #54 (Thanks @Snake575)
2017-06-06
- Fixed an issue where retrying tasks would check for the lock on re-run (and error out). Thanks @lackita for the fix (#37, #48).
2017-06-06
- Added support to connect to Redis over sockets. Thanks @brouberol (#33, #49)
2017-06-05
Major release:
This release contains breaking changes. Please revisit the README for the latest setup instructions.
- Refactored code to allow for custom backends.
- Bumped offical support to celery >= 4.
- Bumped offical support to Python 2.7, 3.5 and 3.6.
2015-07-29
Bugfixes:
- Fixed an issue where celery beat would crash on graceful enable tasks (#27).
Thanks @PhilipGarnero!
2015-07-14
Features:
- Added option
unlock_before_run
to remove the lock before of after the task's execution. Thanks @jcugat!
2015-03-15
Bugfixes:
- Standardized unicode/string handling for the name of a task when generating lock keys.
2015-02-26
Bugfixes:
- Standardized unicode/string handling for keyword arguments when generating lock keys. #11
- Fixed an issue where self bound task (bind=true) would not correctly clear locks. #12
Thanks to @brouberol for contributions to both!
- Initial release of PyPI