@@ -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