All Versions
46
Latest Version
Avg Release Cycle
57 days
Latest Release
-

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 override retries.
    • ➕ Add a very basic redis-backed lock that can be acquired more than once (to provide a rudimentary semaphore).
    • ➕ Add a periodic_task() wrapper for MiniHuey class.

    View commits

  • v2.4.3 Changes

    • 🛠 Fix compatibility with redis-py 4.0.0+.

    View commits

  • 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() and db_periodic_task().
    • 👍 Allow additional lock-names to be specified when flushing locks.

    View commits

  • 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 - use fcntl.flock() instead.

    View commits

  • 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.

    View commits

  • 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.

    View commits

  • 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 the Consumer instance.

    View commits

  • 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.

    View commits

  • 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 extension db_periodic_task().
    • 👍 Allow pickle protocol to be explicitly configured in serializer parameters.
    • ➕ Adds FileHuey and full FileStorage 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.

    View commits

  • 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.

    View commits