1- from pyres import ResQ , str_to_class
1+ from pyres import ResQ , str_to_class , safe_str_to_class
22from pyres .failure import Failure
33class Job (object ):
4- def __init__ (self , queue , payload , resq ):
4+ def __init__ (self , queue , payload , resq , worker ):
55 self ._queue = queue
66 self ._payload = payload
77 self .resq = resq
8+ self ._worker = worker
89
910 def perform (self ):
1011 payload_class_str = self ._payload ["class" ]
11- payload_class = str_to_class (payload_class_str )
12+ payload_class = safe_str_to_class (payload_class_str )
1213 args = self ._payload .get ("args" , None )
1314 if args :
1415 return payload_class .perform (* args )
@@ -17,11 +18,11 @@ def perform(self):
1718
1819 def fail (self , exception ):
1920 #Failure.create(exception)
20- failure = Failure (exception , self ._queue , self ._payload )
21+ failure = Failure (exception , self ._worker , self . _queue , self ._payload )
2122 failure .save (self .resq )
2223
2324 @classmethod
24- def reserve (cls , queue , res ):
25+ def reserve (cls , queue , res , worker ):
2526 payload = res .pop (queue )
2627 if payload :
27- return cls (queue , payload , res )
28+ return cls (queue , payload , res , worker )
0 commit comments