Contains small bugfix for an earlier bugfix meant to prevent time.sleep() from
being called with a negative time interval.
1.2.0
Removed the metadata APIs added in 1.1.0, as they seemed poorly-designed and
altogether a decent idea terribly implemented. Perhaps something I'll revisit,
but which should be easy to implement as a third-party library using the events
APIs.
AsyncData is renamed to TaskResultWrapper.
Huey.result() is a new method that provides the result of a task, given a
task ID.
Fixed a handful of bugs related to the error serialization.
Change the default consumer log handler from RotatingFileHandler to the
vanilla FileHandler class.
1.1.2
I've added a new API for fetching a task's result given on the task's ID. You
can now call huey.result(task_id) and retrieve the result if the task has
finished executing. Additionally, the Huey.result
method accepts the same parameters as AsyncData.get,
allowing you to block for results, specify a timeout, etc.
There is also a new parameter on the above methods, preserve=False. By
default, the result store will delete a task result once it has been read. Specifying
preserve=True ensures the data is not removed.
1.1.1
This is a small release with a couple minor bugfixes.
Fixed task metadata serialization bug. 140
Small cleanup to event iterator storage implementation.
Big changes to simplify the way Huey is instantiated. No changes should
be necessary if already using RedisHuey.
Refactored the storage APIs and simplified the public interface. There is
now a single object, whereas before there were 4 components (queue, result
store, scheduler and event emitter).
Added methods for retrieving and introspecting the pending task queue, the
schedule, results, and errors.
Errors can now be stored, in addition to regular task results.
Added metadata methods for tracking task execution, errors, task duration,
and more. These will be the building blocks for tools to provide some
insight into the inner-workings of your consumers and producers.
Many new events are emitted by the consumer, and some have parameters. These
are documented here.
1.0.0
What follows is a description of the changes between 0.4.9 and 1.0.0. There are
some backwards-incompatible changes to be aware of as well as new options for
the consumer. Most APIs are the same, however.
Backwards incompatible changes:
huey.djhuey moved to huey.contrib.djhuey. You will need to update
any import statements as well as your Django INSTALLED_APPS setting to
reflect the new module path.
Redis backend is now the only one available, and the corresponding code moved
from huey.backends.redis_backend to huey.storage.
Removed the "RabbitMQ" and "SQLite" queue backends.
Removed the -t and --threads option from the consumer. You should now
use -w or --workers.
Removed the -p and --periodic no-op options from the consumer. These
are enabled by default so the option had no meaning.
The scheduler-interval option is configured using -s when previously
it was -S. Furthermore, this must be a value between 1 and 60.
Removed the peewee_helpers module.
New features:
The queue consumer now supports multi-process or multi-greenlet execution
models (in addition to multi-threaded, which previously was the only option).
Added pending(), scheduled() and all_results() methods to the Huey
class to allow introspection of the Queue's state at the current moment in
time.
Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.
huey is not pinned to a specific version.
I'm pinning it to the latest version 1.2.2 for now.
These links might come in handy: PyPI | Changelog | Repo
Changelog
Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.
Happy merging! 🤖