v0.22.0
This release requires that you run migrations, as it converts all JSON columns
to JSONB. Call chancy.migrate() or use the CLI:
chancy --app <your app> misc migrate- Chancy now starts some default plugins with reasonable defaults if they are
not configured. This includes theMetrics,Leadership,Pruner,
RecoveryandWorkflowPlugin. - Queue's now support a
resume_atoption, which allows them to automatically
go active after the specified time. This can be used to implement circuit
breakers. - Added the convenience functions
Chancy.pause_queue()and
Chancy.resume_queue(). Calling this functions will emitqueue.pausedand
queue.resumedevents. - Plugins must now provide a
get_identifier()method, which should return a
unique identifier for the plugin. - Plugins may now implement
get_depdenencies()to return a list of other
plugins that they depend on. - The default queue polling interval for new queues has been increased from
1 to 5 seconds. - All JSON columns have been converted to JSONB, which is more efficient and
allows for indexing, and is supported by Django's JSONField type.
Metrics Plugin
- Internal implementation of the Metrics plugin has been significantly
simplified. - Metrics plugin now tracks job completion status on a per-queue basis as well
as globally, which allows for the implementation of global, per-queue circuit
breaker logic.
Django
- Chancy now comes with a Django app that gives you ORM and Admin access to
Chancy's data. To install it, addchancy.contrib.djangoto your
INSTALLED_APPS. - The ProcessExecutor now has a django shim by default, simplifying setup.