Skip to content

Commit 396f215

Browse files
committed
Decorator some methods to classmethod and staticmethod
1 parent 573f336 commit 396f215

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

django_rq_wrapper/management/commands/rqworkers.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ def add_arguments(self, parser):
4747
dest='worker_ttl', default=420,
4848
help='Default worker timeout to be used')
4949
parser.add_argument('--workers', '-w', action='store', type=int, dest='num_workers',
50-
default=None, help='Number of workers to spawn, defaults to RQ_CONCURRENCY, or 1')
50+
default=None,
51+
help='Number of workers to spawn, defaults to RQ_CONCURRENCY, or 1')
5152
parser.add_argument('--autoreload', action='store_true', dest='autoreload',
5253
default=False, help='Enable autoreload of rqworkers for development')
5354

@@ -88,15 +89,21 @@ def handle(self, *args, **options):
8889
else:
8990
self.create_worker(*queues, **options)
9091

91-
def create_worker_process(self):
92+
@staticmethod
93+
def create_worker_process():
94+
"""Create a worker process.
95+
"""
9296
args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv
9397
if sys.platform == "win32":
9498
args = ['"%s"' % arg for arg in args]
9599
new_environ = os.environ.copy()
96100
new_environ['RUN_MAIN'] = 'true'
97101
return subprocess.Popen(args, executable=sys.executable, env=new_environ)
98102

99-
def create_reloader(self, workers):
103+
@classmethod
104+
def create_reloader(cls, workers):
105+
"""Create a reloader.
106+
"""
100107
args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv
101108
if sys.platform == "win32":
102109
args = ['"%s"' % arg for arg in args]
@@ -111,19 +118,22 @@ def create_reloader(self, workers):
111118
new_workers = []
112119
for worker in workers:
113120
worker.terminate()
114-
new_workers.append(self.create_worker_process())
115-
self.create_reloader(new_workers)
121+
new_workers.append(cls.create_worker_process())
122+
cls.create_reloader(new_workers)
116123
else:
117124
for worker in workers:
118125
worker.terminate()
119126
sys.exit(reloader.returncode)
120127

121-
def create_worker(self, *args, **options):
128+
@staticmethod
129+
def create_worker(*args, **options):
130+
"""Create a worker.
131+
"""
122132
try:
123133
# Instantiate a worker
124134
worker_class = import_attribute(options['worker_class'])
125135
queues = get_queues(*args, queue_class=import_attribute(options['queue_class']))
126-
w = worker_class(
136+
worker = worker_class(
127137
queues,
128138
connection=queues[0].connection,
129139
name=options['name'],
@@ -133,7 +143,7 @@ def create_worker(self, *args, **options):
133143

134144
# Call use_connection to push the redis connection into LocalStack
135145
# without this, jobs using RQ's get_current_job() will fail
136-
use_connection(w.connection)
137-
w.work(burst=options.get('burst', False))
146+
use_connection(worker.connection)
147+
worker.work(burst=options.get('burst', False))
138148
except redis.exceptions.ConnectionError as err:
139149
logger.error(err)

0 commit comments

Comments
 (0)