Skip to content

Releases: Koed00/django-q

v0.7.4

26 Sep 16:24
Compare
Choose a tag to compare
  • adds a MongoDB broker
  • adds Django 1.9 compatibility

Notes:
Django 1.9 is very strict with model imports in the app root.
So when you are using Django 1.9 you will have to import from the relevant submodules.
i.e. from django_q import async becomes from django_q.tasks import async.
This has also been changed in the Docs and will be the standard moving forward, but the root imports remain available for Django 1.7 and 1.8.

v0.7.3

18 Sep 17:54
Compare
Choose a tag to compare
  • adds wait parameter to result and fetch methods which will make them wait n milliseconds for a result to appear.
from django_q import async, result, fetch

# queue a task
task_id = async('math.copysign', 1, -1)
# wait 200 milliseconds for a result
result = result(task_id, 200)
# or wait 500 milliseconds for a result object
task = fetch(task_id, 500)
  • adds support for lock_size to the broker class which counts the number of tasks currently locked for acknowledgement.
  • brokers that support a lock/reservation count will show this in the monitor. Queued 1988(24) with the bracketed number being the amount of tasks awaiting acknowledgment.
  • adds lock size to the SQS broker. Note that due to the nature of SQS, this is not atomic but rather an approximation.

v0.7.2

17 Sep 18:26
Compare
Choose a tag to compare
  • Improves dequeuing on Django ORM broker
  • Improves locking with bulk dequeues in ORM broker
  • Queue admin view now works with db backends other than default.
  • Monitor now shows lock count for ORM broker

v0.7.1

16 Sep 16:56
Compare
Choose a tag to compare
  • adds python management.py qinfo --config to print the current configuration
  • the Queue admin view for the orm broker now shows name, function and task id columns
  • adds group functions to task instances:
task.group_count()
task.group_result()
task.group_delete()
  • some other minor enhancements

v0.7.0

14 Sep 15:20
Compare
Choose a tag to compare

You can now use the Django database backend as a persistent, at-least-once broker.

Important: If you are upgrading and want to use the ORM broker, please run python manage.py migrate to add the queue table to the database.

  • Adds scheduler option.

If you want to disable the scheduler to save overhead or to pause scheduling, you can do this by settings this option to False. Defaults to True.

v0.6.4

10 Sep 12:55
Compare
Choose a tag to compare

Adds Amazon SQS broker using Boto3

# example SQS broker connection

Q_CLUSTER = {
    'name': 'SQSExample',
    'workers': 4,
    'timeout': 60,
    'retry': 90,
    'queue_limit': 100,
    'bulk': 5,
    'sqs': {
        'aws_region': 'us-east-1',
        'aws_access_key_id': 'ac-Idr.....YwflZBaaxI',
        'aws_secret_access_key': '500f7b....b0f302e9'
    }
}

v0.6.3

08 Sep 15:50
Compare
Choose a tag to compare
  • Adds IronMQ broker
  • Adds bulk option to Disque and IronMQ
    `

v0.6.2

07 Sep 18:48
Compare
Choose a tag to compare

Fixes backward compatibility with django-picklefield

v0.6.1

07 Sep 09:53
Compare
Choose a tag to compare

Pins django-picklefield to version 0.3.1.
0.3.2 introduced a breaking change on different Django versions.

v0.6.0

06 Sep 18:09
Compare
Choose a tag to compare
  • Provides a new broker class
  • Implements message receipts for brokers that support this
  • Redis broker client
  • Disque broker client
  • Monitor shows broker type and queue size