@@ -108,17 +108,7 @@ def _enqueue_dependent_jobs(self, env, job):
108108 else :
109109 break
110110
111- @http .route (
112- "/queue_job/runjob" ,
113- type = "http" ,
114- auth = "none" ,
115- save_session = False ,
116- readonly = False ,
117- )
118- def runjob (self , db , job_uuid , ** kw ):
119- http .request .session .db = db
120- env = http .request .env (user = SUPERUSER_ID )
121-
111+ def _runjob (self , env : api .Environment , job : Job ) -> None :
122112 def retry_postpone (job , message , seconds = None ):
123113 job .env .clear ()
124114 with Registry (job .env .cr .dbname ).cursor () as new_cr :
@@ -127,10 +117,6 @@ def retry_postpone(job, message, seconds=None):
127117 job .set_pending (reset_retry = False )
128118 job .store ()
129119
130- job = self ._acquire_job (env , job_uuid )
131- if not job :
132- return ""
133-
134120 try :
135121 try :
136122 self ._try_perform_job (env , job )
@@ -151,7 +137,6 @@ def retry_postpone(job, message, seconds=None):
151137 # traceback in the logs we should have the traceback when all
152138 # retries are exhausted
153139 env .cr .rollback ()
154- return ""
155140
156141 except (FailedJobError , Exception ) as orig_exception :
157142 buff = StringIO ()
@@ -171,8 +156,6 @@ def retry_postpone(job, message, seconds=None):
171156 self ._enqueue_dependent_jobs (env , job )
172157 _logger .debug ("%s enqueue depends done" , job )
173158
174- return ""
175-
176159 def _get_failure_values (self , job , traceback_txt , orig_exception ):
177160 """Collect relevant data from exception."""
178161 exception_name = orig_exception .__class__ .__name__
@@ -187,6 +170,22 @@ def _get_failure_values(self, job, traceback_txt, orig_exception):
187170 "exc_message" : exc_message ,
188171 }
189172
173+ @http .route (
174+ "/queue_job/runjob" ,
175+ type = "http" ,
176+ auth = "none" ,
177+ save_session = False ,
178+ readonly = False ,
179+ )
180+ def runjob (self , db , job_uuid , ** kw ):
181+ http .request .session .db = db
182+ env = http .request .env (user = SUPERUSER_ID )
183+ job = self ._acquire_job (env , job_uuid )
184+ if not job :
185+ return ""
186+ self ._runjob (env , job )
187+ return ""
188+
190189 # flake8: noqa: C901
191190 @http .route ("/queue_job/create_test_job" , type = "http" , auth = "user" )
192191 def create_test_job (
0 commit comments