diff --git a/django_q/cluster.py b/django_q/cluster.py index 4b6c44d..e49792a 100644 --- a/django_q/cluster.py +++ b/django_q/cluster.py @@ -4,12 +4,6 @@ from __future__ import division from __future__ import print_function from __future__ import unicode_literals -from builtins import range - -from future import standard_library - -standard_library.install_aliases() - # Standard import importlib import signal @@ -30,6 +24,7 @@ from django import db import signing import tasks +from django_q.compat import range from django_q.conf import Conf, logger, psutil, get_ppid, rollbar from django_q.models import Task, Success, Schedule from django_q.status import Stat, Status @@ -37,6 +32,7 @@ from django_q.brokers import get_broker from django_q.signals import pre_execute + class Cluster(object): def __init__(self, broker=None): self.broker = broker or get_broker() diff --git a/django_q/compat.py b/django_q/compat.py new file mode 100644 index 0000000..0ba80c4 --- /dev/null +++ b/django_q/compat.py @@ -0,0 +1,14 @@ +from __future__ import absolute_import +""" +Compatibility layer. + +Intentionally replaces use of python-future +""" + +# https://github.com/Koed00/django-q/issues/4 + +try: + range = xrange +except NameError: + range = range + diff --git a/django_q/tests/test_brokers.py b/django_q/tests/test_brokers.py index 05265e9..6ef7cd4 100644 --- a/django_q/tests/test_brokers.py +++ b/django_q/tests/test_brokers.py @@ -5,6 +5,7 @@ import pytest import redis from django_q.brokers import get_broker, Broker +from django_q.compat import range from django_q.conf import Conf from django_q.humanhash import uuid diff --git a/django_q/tests/test_cached.py b/django_q/tests/test_cached.py index d2b4141..1cf9980 100644 --- a/django_q/tests/test_cached.py +++ b/django_q/tests/test_cached.py @@ -3,6 +3,7 @@ from multiprocessing import Event, Queue, Value import pytest from django_q.cluster import pusher, worker, monitor +from django_q.compat import range from django_q.conf import Conf from django_q.tasks import async, result, fetch, count_group, result_group, fetch_group, delete_group, delete_cached, \ async_iter, Chain, async_chain, Iter, Async diff --git a/django_q/tests/test_cluster.py b/django_q/tests/test_cluster.py index 2e33d26..70af89c 100644 --- a/django_q/tests/test_cluster.py +++ b/django_q/tests/test_cluster.py @@ -11,6 +11,7 @@ myPath = os.path.dirname(os.path.abspath(__file__)) sys.path.insert(0, myPath + '/../') from django_q.cluster import Cluster, Sentinel, pusher, worker, monitor, save_task +from django_q.compat import range from django_q.humanhash import DEFAULT_WORDLIST, uuid from django_q.tasks import fetch, fetch_group, async, result, result_group, count_group, delete_group, queue_size from django_q.models import Task, Success diff --git a/django_q/tests/test_monitor.py b/django_q/tests/test_monitor.py index d07fe07..0d43b7f 100644 --- a/django_q/tests/test_monitor.py +++ b/django_q/tests/test_monitor.py @@ -3,6 +3,7 @@ import pytest from django_q.tasks import async from django_q.brokers import get_broker from django_q.cluster import Cluster +from django_q.compat import range from django_q.monitor import monitor, info from django_q.status import Stat from django_q.conf import Conf diff --git a/requirements.in b/requirements.in index 9105803..1246e52 100644 --- a/requirements.in +++ b/requirements.in @@ -1,7 +1,6 @@ arrow blessed django-picklefield -future hiredis redis psutil diff --git a/setup.py b/setup.py index 6541dd4..854864a 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ setup( license='MIT', description='A multiprocessing distributed task queue for Django', long_description=README, - install_requires=['django>=1.8', 'django-picklefield', 'blessed', 'arrow', 'future'], + install_requires=['django>=1.8', 'django-picklefield', 'blessed', 'arrow'], test_requires=['pytest', 'pytest-django', ], cmdclass={'test': PyTest}, classifiers=[