* Support for multi-queue, multi-cluster configuration. API changes include:
* Adding `cluster` to async_task() parameters and Task model
* Adding argument --name to qcluster command
* Necessary adjustments to Conf and Broker classes
* Some admin improvements
* Add settings.Q_CLUSTER['ALT_CLUSTERS']: q_cluster config overrides for alternative clusters;
Add Conf.CLUSTER_NAME: separate usage from Conf.PREFIX;
QueueAdmin/OrmQ detail page enhanced: now displaying args/kwargs/q_options instead of encrypted payload.
* if `cluster` argument is not set (the default), async_task() and schedule() will be handled by the default cluster; Documentation update.
* Text cleanup
* Documentation update.
* Fix TIMEOUT setting in Windows for non-default cluster
---------
Co-authored-by: Stan Triepels <1939656+GDay@users.noreply.github.com>
* feat: option to save tasks per group/func/name
* test: update tests for save limit
* fix: convert func when save-limit checking
when passed as function it needs to be converted to work
* Add warning if option is not valid
Co-authored-by: Noortheen Raja <jnoortheen@gmail.com>
* Update django docs links to 4.0
* Update Django Q to Django Q2
* Use different theme to make difference more clear between the original and this forked one
* Added info notice about this fork
* Some small layout/typo fixes
* Allows schedule by cluster
* Update docs
* Add example in doc
* Fixes cluster field must be blank
* Adds cluster arg to schedule func
* Adds cluster field in list_display/filter for admin
* Uses Q filter to fetch schedule
* Fixes ref in doc
* Adds tests
URLs were linking to a now unsupported version of Django. Django v2.2 is a LTS version, and also matches the documentation intersphinx_mapping in docs/conf.py.
* async is now a reserved word in python3.7
* Rename async function to enqueue
* Rename all async_ functions to enqueue_
* Rename Async class to AsyncTask
* Updates the docs.
If a task fails with an exception, it is retried until it
succeeds. This is contrary to what is said in the documentation: under
the "Architecture" section, heading "Broker" it says that even when a
task errors, it's still considered a successful delivery. Failed tasks
never get acknowledged however, thereby being retried after the
timeout period. See also issues #238 and #194.
This patch adds an option to acknowledge failures, thereby closing
issue #238. Issue #194 would require some more work. The default of
this option is set to `False`, thereby maintaining backwards
compatibility.