Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions queue_job_profiler/controllers/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,28 @@


class RunJobController(BaseController):
def _try_perform_job(self, env, job):
if self._profiler_is_enabled(env, job):
return self._profiler_perform_job(env, job)
@classmethod
def _try_perform_job(cls, env, job):
if cls._profiler_is_enabled(env, job):
return cls._profiler_perform_job(env, job)
return super()._try_perform_job(env, job)

def _profiler_is_enabled(self, env, job):
@classmethod
def _profiler_is_enabled(cls, env, job):
func_id = job.job_config.job_function_id
if not func_id:
return False
job_function = env["queue.job.function"].browse(func_id)
return job_function.is_profiling_enabled()

def _profiler_perform_job(self, env, job):
with self._profiler_get(env, job):
@classmethod
def _profiler_perform_job(cls, env, job):
with cls._profiler_get(env, job):
result = super()._try_perform_job(env, job)
return result

def _profiler_get(self, env, job):
@classmethod
def _profiler_get(cls, env, job):
func_id = job.job_config.job_function_id
if not func_id:
return None
Expand Down
6 changes: 1 addition & 5 deletions queue_job_profiler/tests/test_job_profiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,8 @@ def test_job_action_view_profile(self):
self.assertEqual(action["res_id"], prof.id)

def _run_controller(self, job, user=None):
controller = RunJobController()
env = self.env(user=user) if user else self.env
with (
patch.object(self.env.cr, "commit"),
):
controller._try_perform_job(env, job)
RunJobController._try_perform_job(env, job)

def test_controller(self):
job = self.env.user.with_delay().read(["id"])
Expand Down
Loading