1
1
import warnings
2
+ from typing import Any , Callable , Optional , Type , Union
2
3
3
4
import redis
4
5
from redis .sentinel import Sentinel
6
+ from rq .job import Job
5
7
from rq .queue import Queue
6
8
from rq .utils import import_attribute
7
9
@@ -138,7 +140,10 @@ def get_redis_connection(config, use_strict_redis=False):
138
140
)
139
141
140
142
141
- def get_connection (name = 'default' , use_strict_redis = False ):
143
+ def get_connection (
144
+ name : str = 'default' ,
145
+ use_strict_redis : bool = False ,
146
+ ) -> redis .Redis :
142
147
"""
143
148
Returns a Redis connection to use based on parameters in settings.RQ_QUEUES
144
149
"""
@@ -148,16 +153,16 @@ def get_connection(name='default', use_strict_redis=False):
148
153
149
154
150
155
def get_queue (
151
- name = 'default' ,
152
- default_timeout = None ,
153
- is_async = None ,
154
- autocommit = None ,
155
- connection = None ,
156
- queue_class = None ,
157
- job_class = None ,
158
- serializer = None ,
156
+ name : str = 'default' ,
157
+ default_timeout : Optional [ int ] = None ,
158
+ is_async : Optional [ bool ] = None ,
159
+ autocommit : Optional [ bool ] = None ,
160
+ connection : Optional [ redis . Redis ] = None ,
161
+ queue_class : Optional [ Union [ str , Type [ DjangoRQ ]]] = None ,
162
+ job_class : Optional [ Union [ str , Type [ Job ]]] = None ,
163
+ serializer : Any = None ,
159
164
** kwargs
160
- ):
165
+ ) -> DjangoRQ :
161
166
"""
162
167
Returns an rq Queue using parameters defined in ``RQ_QUEUES``
163
168
"""
@@ -280,7 +285,7 @@ def get_queues(*queue_names, **kwargs):
280
285
return queues
281
286
282
287
283
- def enqueue (func , * args , ** kwargs ):
288
+ def enqueue (func : Callable , * args , ** kwargs ) -> Job :
284
289
"""
285
290
A convenience function to put a job in the default queue. Usage::
286
291
@@ -333,7 +338,11 @@ def _create_job(self, *args, **kwargs):
333
338
334
339
return super (DjangoScheduler , self )._create_job (* args , ** kwargs )
335
340
336
- def get_scheduler (name = 'default' , queue = None , interval = 60 ):
341
+ def get_scheduler (
342
+ name : str = 'default' ,
343
+ queue : Optional [DjangoRQ ] = None ,
344
+ interval : int = 60 ,
345
+ ) -> DjangoScheduler :
337
346
"""
338
347
Returns an RQ Scheduler instance using parameters defined in
339
348
``RQ_QUEUES``
0 commit comments