From 0fd294700266482d27fa81fd807b67d977960d44 Mon Sep 17 00:00:00 2001 From: Iain Mckay Date: Thu, 12 Oct 2017 12:45:00 +0200 Subject: [PATCH 1/2] Adds to small extension points to JobProcessor --- pkg/job-queue/JobProcessor.php | 44 ++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/pkg/job-queue/JobProcessor.php b/pkg/job-queue/JobProcessor.php index 2ab77a72d..8982f1b7f 100644 --- a/pkg/job-queue/JobProcessor.php +++ b/pkg/job-queue/JobProcessor.php @@ -63,7 +63,7 @@ public function findOrCreateRootJob($ownerId, $jobName, $unique = false) $job->setUnique((bool) $unique); try { - $this->jobStorage->saveJob($job); + $this->saveJob($job); return $job; } catch (DuplicateJobException $e) { @@ -97,11 +97,9 @@ public function findOrCreateChildJob($jobName, Job $rootJob) $job->setCreatedAt(new \DateTime()); $job->setRootJob($rootJob); - $this->jobStorage->saveJob($job); + $this->saveJob($job); - $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [ - 'jobId' => $job->getId(), - ]); + $this->sendCalculateRootJobStatusEvent($job); return $job; } @@ -128,11 +126,9 @@ public function startChildJob(Job $job) $job->setStatus(Job::STATUS_RUNNING); $job->setStartedAt(new \DateTime()); - $this->jobStorage->saveJob($job); + $this->saveJob($job); - $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [ - 'jobId' => $job->getId(), - ]); + $this->sendCalculateRootJobStatusEvent($job); } /** @@ -157,11 +153,9 @@ public function successChildJob(Job $job) $job->setStatus(Job::STATUS_SUCCESS); $job->setStoppedAt(new \DateTime()); - $this->jobStorage->saveJob($job); + $this->saveJob($job); - $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [ - 'jobId' => $job->getId(), - ]); + $this->sendCalculateRootJobStatusEvent($job); } /** @@ -186,11 +180,9 @@ public function failChildJob(Job $job) $job->setStatus(Job::STATUS_FAILED); $job->setStoppedAt(new \DateTime()); - $this->jobStorage->saveJob($job); + $this->saveJob($job); - $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [ - 'jobId' => $job->getId(), - ]); + $this->sendCalculateRootJobStatusEvent($job); } /** @@ -219,11 +211,9 @@ public function cancelChildJob(Job $job) $job->setStartedAt($stoppedAt); } - $this->jobStorage->saveJob($job); + $this->saveJob($job); - $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [ - 'jobId' => $job->getId(), - ]); + $this->sendCalculateRootJobStatusEvent($job); } /** @@ -252,4 +242,16 @@ public function interruptRootJob(Job $job, $force = false) } }); } + + protected function saveJob(Job $job) + { + $this->jobStorage->saveJob($job); + } + + protected function sendCalculateRootJobStatusEvent(Job $job) + { + $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [ + 'jobId' => $job->getId(), + ]); + } } From 97a8b606a88fbe58b46f9398e08e36fe0db048d5 Mon Sep 17 00:00:00 2001 From: Iain Mckay Date: Fri, 13 Oct 2017 09:01:17 +0200 Subject: [PATCH 2/2] Added link to description for the new methods --- pkg/job-queue/JobProcessor.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/job-queue/JobProcessor.php b/pkg/job-queue/JobProcessor.php index 8982f1b7f..b779d911b 100644 --- a/pkg/job-queue/JobProcessor.php +++ b/pkg/job-queue/JobProcessor.php @@ -243,11 +243,21 @@ public function interruptRootJob(Job $job, $force = false) }); } + /** + * @link https://github.com/php-enqueue/enqueue-dev/pull/222#issuecomment-336102749 See for rationale + * + * @param Job $job + */ protected function saveJob(Job $job) { $this->jobStorage->saveJob($job); } + /** + * @link https://github.com/php-enqueue/enqueue-dev/pull/222#issuecomment-336102749 See for rationale + * + * @param Job $job + */ protected function sendCalculateRootJobStatusEvent(Job $job) { $this->producer->sendEvent(Topics::CALCULATE_ROOT_JOB_STATUS, [