diff --git a/Model/QueuedTask.php b/Model/QueuedTask.php old mode 100644 new mode 100755 index 57249d16..1b9ae510 --- a/Model/QueuedTask.php +++ b/Model/QueuedTask.php @@ -111,6 +111,19 @@ public function isCompanyForEcsQueue($bidId) { return !empty($companySetting['CompanySetting']['value']); } + private function isCompanyForReInitEcsQueue($companyId) { + if (Configure::read('Queue.enforceEcsForAll.reinit')) { + return true; + } + $companySetting = ClassRegistry::init('Symphosize.CompanySetting')->find('first', [ + 'conditions' => [ + 'CompanySetting.company_id' => $companyId, + 'CompanySetting.slug' => 'ecs_reinit_queue_enabled', + ], + 'contain' => false, + ]); + return !empty($companySetting['CompanySetting']['value']); + } /** * Add a new Job to the Queue. * @@ -133,6 +146,9 @@ public function createJob($jobName, $data = null, $notBefore = null, $group = nu break; case 'ReinitFollowUpInstance': $dupeKey = $data['instance_id']; + if ($this->isCompanyForReInitEcsQueue($data['company_id'])) { + $jobName = 'ReinitFollowUpInstance-ECS'; + } break; case 'ReleaseModule': $dupeKey = $data['company_id'] . '.' . $data['sub_service_id']; @@ -303,7 +319,7 @@ public function requestSqsJob($queueUrl, $waitTime=20) { $dbRecord = $this->find('first', [ 'conditions' => [ 'id' => $data['id'] - ], + ], 'contain' => false, ]); if(!$data['retryCount']) {