From 68d95a2924783b2be01d28a084fa8a77d9dadd71 Mon Sep 17 00:00:00 2001 From: Bastien Vallet Date: Wed, 10 Jun 2020 11:33:39 +0200 Subject: [PATCH 1/3] [cleanup] Remove python2 artifacts --- django_q/brokers/__init__.py | 2 +- django_q/cluster.py | 10 ++-------- django_q/conf.py | 4 ++-- django_q/humanhash.py | 2 +- django_q/queues.py | 2 +- django_q/signing.py | 4 ++-- django_q/status.py | 2 +- django_q/tasks.py | 6 +++--- django_q/tests/test_cluster.py | 2 +- runtests.py | 2 +- 10 files changed, 15 insertions(+), 21 deletions(-) diff --git a/django_q/brokers/__init__.py b/django_q/brokers/__init__.py index e9130e5..167ff62 100644 --- a/django_q/brokers/__init__.py +++ b/django_q/brokers/__init__.py @@ -5,7 +5,7 @@ from django.core.cache import caches, InvalidCacheBackendError from django_q.conf import Conf -class Broker(object): +class Broker: def __init__(self, list_key=Conf.PREFIX): self.connection = self.get_connection(list_key) self.list_key = list_key diff --git a/django_q/cluster.py b/django_q/cluster.py index 4457cee..e9dac34 100644 --- a/django_q/cluster.py +++ b/django_q/cluster.py @@ -1,9 +1,3 @@ -# Future -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - import ast # Standard @@ -36,7 +30,7 @@ from django_q.signing import SignedPackage, BadSignature from django_q.status import Stat, Status -class Cluster(object): +class Cluster: def __init__(self, broker=None): self.broker = broker or get_broker() self.sentinel = None @@ -120,7 +114,7 @@ class Cluster(object): return self.start_event is None and self.stop_event is None and self.sentinel -class Sentinel(object): +class Sentinel: def __init__( self, stop_event, diff --git a/django_q/conf.py b/django_q/conf.py index baa4671..3c0b6a1 100644 --- a/django_q/conf.py +++ b/django_q/conf.py @@ -22,7 +22,7 @@ except ImportError: psutil = None -class Conf(object): +class Conf: """ Configuration class """ @@ -195,7 +195,7 @@ if not logger.handlers: # Error Reporting Interface -class ErrorReporter(object): +class ErrorReporter: # initialize with iterator of reporters (better name, targets?) def __init__(self, reporters): diff --git a/django_q/humanhash.py b/django_q/humanhash.py index feac001..a7ba160 100644 --- a/django_q/humanhash.py +++ b/django_q/humanhash.py @@ -50,7 +50,7 @@ DEFAULT_WORDLIST = ( 'zulu') -class HumanHasher(object): +class HumanHasher: """ Transforms hex digests to human-readable strings. diff --git a/django_q/queues.py b/django_q/queues.py index 20f082f..978b068 100644 --- a/django_q/queues.py +++ b/django_q/queues.py @@ -7,7 +7,7 @@ import multiprocessing import multiprocessing.queues -class SharedCounter(object): +class SharedCounter: """ A synchronized shared counter. The locking done by multiprocessing.Value ensures that only a single diff --git a/django_q/signing.py b/django_q/signing.py index 2460aaa..474d0cf 100644 --- a/django_q/signing.py +++ b/django_q/signing.py @@ -11,7 +11,7 @@ from django_q.conf import Conf BadSignature = signing.BadSignature -class SignedPackage(object): +class SignedPackage: """Wraps Django's signing module with custom Pickle serializer.""" @@ -31,7 +31,7 @@ class SignedPackage(object): serializer=PickleSerializer) -class PickleSerializer(object): +class PickleSerializer: """Simple wrapper around Pickle for signing.dumps and signing.loads.""" diff --git a/django_q/status.py b/django_q/status.py index f3f9450..7f0fa8f 100644 --- a/django_q/status.py +++ b/django_q/status.py @@ -5,7 +5,7 @@ from django_q.conf import Conf, logger from django_q.signing import SignedPackage, BadSignature -class Status(object): +class Status: """Cluster status base class.""" def __init__(self, pid, cluster_id): diff --git a/django_q/tasks.py b/django_q/tasks.py index ccc333b..1d9780a 100644 --- a/django_q/tasks.py +++ b/django_q/tasks.py @@ -480,7 +480,7 @@ def async_chain(chain, group=None, cached=Conf.CACHED, sync=Conf.SYNC, broker=No return group -class Iter(object): +class Iter: """ An async task with iterable arguments """ @@ -550,7 +550,7 @@ class Iter(object): return len(self.args) -class Chain(object): +class Chain: """ A sequential chain of tasks """ @@ -634,7 +634,7 @@ class Chain(object): return len(self.chain) -class AsyncTask(object): +class AsyncTask: """ an async task """ diff --git a/django_q/tests/test_cluster.py b/django_q/tests/test_cluster.py index c39b717..97d320a 100644 --- a/django_q/tests/test_cluster.py +++ b/django_q/tests/test_cluster.py @@ -22,7 +22,7 @@ from django_q.tests.tasks import multiply, TaskError from django_q.queues import Queue -class WordClass(object): +class WordClass: def __init__(self): self.word_list = DEFAULT_WORDLIST diff --git a/runtests.py b/runtests.py index 4ecd607..a31b744 100644 --- a/runtests.py +++ b/runtests.py @@ -3384,7 +3384,7 @@ import sys import base64 import zlib -class DictImporter(object): +class DictImporter: def __init__(self, sources): self.sources = sources From 3569d2ea8c7696bc1051be67a5ff65481b313778 Mon Sep 17 00:00:00 2001 From: Bastien Vallet Date: Wed, 10 Jun 2020 11:52:31 +0200 Subject: [PATCH 2/3] [cleanup] Fix some linting issues --- django_q/brokers/aws_sqs.py | 1 - django_q/brokers/ironmq.py | 8 ++++---- django_q/brokers/orm.py | 2 +- django_q/tasks.py | 3 +-- django_q/tests/test_cluster.py | 13 +++++++++---- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/django_q/brokers/aws_sqs.py b/django_q/brokers/aws_sqs.py index d33800f..535259a 100644 --- a/django_q/brokers/aws_sqs.py +++ b/django_q/brokers/aws_sqs.py @@ -57,7 +57,6 @@ class Sqs(Broker): del(config['aws_region']) return Session(**config) - def get_queue(self): self.sqs = self.connection.resource('sqs') return self.sqs.create_queue(QueueName=self.list_key) diff --git a/django_q/brokers/ironmq.py b/django_q/brokers/ironmq.py index f0b0725..bf14dd8 100644 --- a/django_q/brokers/ironmq.py +++ b/django_q/brokers/ironmq.py @@ -9,10 +9,10 @@ class IronMQBroker(Broker): return self.connection.post(task)['ids'][0] def dequeue(self): - timeout = Conf.RETRY or None - tasks = self.connection.get(timeout=timeout, wait=1, max=Conf.BULK)['messages'] - if tasks: - return [(t['id'], t['body']) for t in tasks] + timeout = Conf.RETRY or None + tasks = self.connection.get(timeout=timeout, wait=1, max=Conf.BULK)['messages'] + if tasks: + return [(t['id'], t['body']) for t in tasks] def ping(self): return self.connection.name == self.list_key diff --git a/django_q/brokers/orm.py b/django_q/brokers/orm.py index 008503a..da5b289 100644 --- a/django_q/brokers/orm.py +++ b/django_q/brokers/orm.py @@ -60,7 +60,7 @@ class ORM(Broker): def dequeue(self): tasks = self.get_connection().filter(key=self.list_key, lock__lt=_timeout())[ - 0 : Conf.BULK + 0: Conf.BULK ] if tasks: task_list = [] diff --git a/django_q/tasks.py b/django_q/tasks.py index 1d9780a..c27eb8b 100644 --- a/django_q/tasks.py +++ b/django_q/tasks.py @@ -7,9 +7,8 @@ from django.db import IntegrityError from django.utils import timezone from multiprocessing import Value -from django_q.brokers import get_broker - # local +from django_q.brokers import get_broker from django_q.conf import Conf, logger from django_q.humanhash import uuid from django_q.models import Schedule, Task diff --git a/django_q/tests/test_cluster.py b/django_q/tests/test_cluster.py index 97d320a..9093036 100644 --- a/django_q/tests/test_cluster.py +++ b/django_q/tests/test_cluster.py @@ -45,6 +45,7 @@ def test_sync(broker): task = async_task('django_q.tests.tasks.count_letters', DEFAULT_WORDLIST, broker=broker, sync=True) assert result(task) == 1506 + @pytest.mark.django_db def test_sync_raise_exception(broker): with pytest.raises(TaskError): @@ -401,6 +402,7 @@ def test_update_failed(broker): assert saved_task.success is True assert saved_task.result == 'result' + @pytest.mark.django_db def test_acknowledge_failure_override(): class VerifyAckMockBroker(Broker): @@ -434,10 +436,12 @@ def test_acknowledge_failure_override(): tag = uuid() task_success_ack = task_fail_ack.copy() - task_success_ack.update({'id': tag[1], - 'name': tag[0], - 'ack_id': 'test_success_ack_id', - 'success': True,}) + task_success_ack.update({ + 'id': tag[1], + 'name': tag[0], + 'ack_id': 'test_success_ack_id', + 'success': True, + }) del task_success_ack['ack_failure'] result_queue = Queue() @@ -453,6 +457,7 @@ def test_acknowledge_failure_override(): assert broker.acknowledgements.get('test_fail_no_ack_id') is None assert broker.acknowledgements.get('test_success_ack_id') == 1 + @pytest.mark.django_db def assert_result(task): assert task is not None From e3560180af2a6cf0687b500ad327bdfd43a9445f Mon Sep 17 00:00:00 2001 From: Bastien Vallet Date: Wed, 10 Jun 2020 11:44:48 +0200 Subject: [PATCH 3/3] [cleanup] Clean migrations --- django_q/migrations/0001_initial.py | 3 --- django_q/migrations/0002_auto_20150630_1624.py | 3 --- django_q/migrations/0003_auto_20150708_1326.py | 3 --- django_q/migrations/0004_auto_20150710_1043.py | 3 --- django_q/migrations/0005_auto_20150718_1506.py | 3 --- django_q/migrations/0006_auto_20150805_1817.py | 3 --- django_q/migrations/0007_ormq.py | 3 --- django_q/migrations/0008_auto_20160224_1026.py | 3 --- django_q/migrations/0009_auto_20171009_0915.py | 3 --- 9 files changed, 27 deletions(-) diff --git a/django_q/migrations/0001_initial.py b/django_q/migrations/0001_initial.py index 1dee895..f2503da 100644 --- a/django_q/migrations/0001_initial.py +++ b/django_q/migrations/0001_initial.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations import picklefield.fields import django.utils.timezone diff --git a/django_q/migrations/0002_auto_20150630_1624.py b/django_q/migrations/0002_auto_20150630_1624.py index ea2aa80..2ed95d7 100644 --- a/django_q/migrations/0002_auto_20150630_1624.py +++ b/django_q/migrations/0002_auto_20150630_1624.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/django_q/migrations/0003_auto_20150708_1326.py b/django_q/migrations/0003_auto_20150708_1326.py index 1ab78dd..b3ef155 100644 --- a/django_q/migrations/0003_auto_20150708_1326.py +++ b/django_q/migrations/0003_auto_20150708_1326.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/django_q/migrations/0004_auto_20150710_1043.py b/django_q/migrations/0004_auto_20150710_1043.py index e5f7a42..06cae50 100644 --- a/django_q/migrations/0004_auto_20150710_1043.py +++ b/django_q/migrations/0004_auto_20150710_1043.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/django_q/migrations/0005_auto_20150718_1506.py b/django_q/migrations/0005_auto_20150718_1506.py index fdb36ca..b318ead 100644 --- a/django_q/migrations/0005_auto_20150718_1506.py +++ b/django_q/migrations/0005_auto_20150718_1506.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/django_q/migrations/0006_auto_20150805_1817.py b/django_q/migrations/0006_auto_20150805_1817.py index 0406f8c..93a4daa 100644 --- a/django_q/migrations/0006_auto_20150805_1817.py +++ b/django_q/migrations/0006_auto_20150805_1817.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/django_q/migrations/0007_ormq.py b/django_q/migrations/0007_ormq.py index 1c42dc2..29f59e8 100644 --- a/django_q/migrations/0007_ormq.py +++ b/django_q/migrations/0007_ormq.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/django_q/migrations/0008_auto_20160224_1026.py b/django_q/migrations/0008_auto_20160224_1026.py index c9aeef1..02954a4 100644 --- a/django_q/migrations/0008_auto_20160224_1026.py +++ b/django_q/migrations/0008_auto_20160224_1026.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/django_q/migrations/0009_auto_20171009_0915.py b/django_q/migrations/0009_auto_20171009_0915.py index 1059126..0b6d14f 100644 --- a/django_q/migrations/0009_auto_20171009_0915.py +++ b/django_q/migrations/0009_auto_20171009_0915.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models