All Versions
46
Latest Version
Avg Release Cycle
57 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v2.4.4 Changes
- 🔒 Add
is_locked(lock_name)
to test whether lock is held. - 👍 Allow raising
CancelExecution
within a Task, and overrideretries
. - ➕ Add a very basic redis-backed lock that can be acquired more than once (to provide a rudimentary semaphore).
- ➕ Add a
periodic_task()
wrapper forMiniHuey
class.
- 🔒 Add
-
v2.4.3 Changes
- 🛠 Fix compatibility with redis-py 4.0.0+.
-
v2.4.2 Changes
- 🛠 Fix implementation of schedule-pop Lua script so it works with Redis cluster.
- Ensure Django connections are closed before and after (previously they were
only closed after) task execution with
db_task()
anddb_periodic_task()
. - 👍 Allow additional lock-names to be specified when flushing locks.
-
v2.4.1 Changes
- Attempt to reconnect to database if connection becomes unusable (e.g. due to
a server restart). See:
huey.contrib.sql_huey.SqlHuey
. - 🔒 Do not use a soft file-lock for
FileStorage
- usefcntl.flock()
instead.
- Attempt to reconnect to database if connection becomes unusable (e.g. due to
a server restart). See:
-
v2.4.0 Changes
- ✅ Task expiration: https://huey.readthedocs.io/en/latest/guide.html#task-expiration
- ➕ Add option to make
crontab()
parsing strict, raising an error if an invalid interval specification is given. You probably want to enable this. - 🛠 Fix bug in the FileStorage dequeue() method, which attempted to unlink an open file.
-
v2.3.2 Changes
- Add hook (
Huey.build_error_result
) for customizing the error result metadata. - Avoid crashing if another module already modified/set the multiprocessing start method.
- Add hook (
-
v2.3.1 Changes
- ➕ Add
SIGNAL_INTERRUPTED
to signal when a task is interrupted when a consumer exits abruptly. - 👉 Use the
Huey.create_consumer()
API within the Django management command, to allow Django users to customize the creation of theConsumer
instance.
- ➕ Add
-
v2.3.0 Changes
August 10, 2020- 👉 Use monotonic clock for timing operations within the consumer.
- 🚀 Ensure internal state is cleaned up on file-lock when released.
- 👌 Support passing around TaskException as a pickled value.
- 🍎 Set the multiprocessing mode to "fork" on MacOS and Python 3.8 or newer.
- ➕ Added option to enforce FIFO behavior when using Sqlite as storage.
- ➕ Added the
on_shutdown
handler to djhuey namespace. - 👻 Ensure exception is set on AsyncResult in mini-huey.
-
v2.2.0 Changes
February 23, 2020- 🛠 Fix task
repr
(refs #460). - ➕ Adds task-id into metadata for task exceptions (refs #461).
- Ensure database connection is not closed when using the
call_local
method of Django helper extensiondb_periodic_task()
. - 👍 Allow pickle protocol to be explicitly configured in serializer parameters.
- ➕ Adds
FileHuey
and fullFileStorage
implementation. - ➕ Add
shutdown()
hook, which will be run in the context of the worker threads/processes during shutdown. This hook can be used to clean-up shared or global resources, for example. - 👍 Allow pipelines to be chained together. Additionally, support chaining task instances.
- 🛠 Fix task
-
v2.1.3 Changes
October 16, 2019- 🛠 Fix semantics of
SIGNAL_COMPLETE
so that it is not sent until the result is ready. - 👉 Use classes for the specific Huey implementations (e.g.
RedisHuey
) so that it is easier to subclass / extend. Previously we just used a partial application of the constructor, which could be confusing. - 🛠 Fix shutdown logic in consumer when using multiprocess worker model. Previously the consumer would perform a "graceful" shutdown, even when an immediate shutdown was requested (SIGTERM). Also cleans up the signal-handling code and ensures that interrupted tasks log a warning properly to indicate they were interrupted.
- 🛠 Fix semantics of