ryanhiebert / hirefire

A Python lib to integrate with the HireFire service -- The Heroku Proccess Manager.
https://hirefire.readthedocs.io/
Other
34 stars 21 forks source link

Pin huey to latest version 1.2.2 #30

Closed pyup-bot closed 7 years ago

pyup-bot commented 7 years ago

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

1.2.2


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.
  • Updated getting started documentation to reflect changes in the 1.x APIs.

View changes

1.1.0


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

Happy merging! 🤖