From fccac376210c20b4a47b7a83a57dfca2953a1231 Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Thu, 30 Nov 2017 14:53:45 +1300 Subject: [PATCH] FIX Ensure queued job signature remains under 64 character limit (fixes Postgres error) --- src/Search/Processors/SearchUpdateCommitJobProcessor.php | 4 +--- src/Solr/Reindex/Jobs/SolrReindexGroupQueuedJob.php | 7 +------ src/Solr/Reindex/Jobs/SolrReindexQueuedJob.php | 7 +------ src/Solr/Reindex/Jobs/SolrReindexQueuedJobBase.php | 5 +++++ 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/Search/Processors/SearchUpdateCommitJobProcessor.php b/src/Search/Processors/SearchUpdateCommitJobProcessor.php index 8bc4148..1dc8ea0 100644 --- a/src/Search/Processors/SearchUpdateCommitJobProcessor.php +++ b/src/Search/Processors/SearchUpdateCommitJobProcessor.php @@ -109,9 +109,7 @@ class SearchUpdateCommitJobProcessor implements QueuedJob public function getSignature() { - // There is only ever one commit job on the queue so the signature is consistent - // See QueuedJobService::queueJob() for the code that prevents duplication - return __CLASS__; + return sha1(get_class($this) . time() . mt_rand(0, 100000)); } public function getTitle() diff --git a/src/Solr/Reindex/Jobs/SolrReindexGroupQueuedJob.php b/src/Solr/Reindex/Jobs/SolrReindexGroupQueuedJob.php index 3566441..5da8ea7 100644 --- a/src/Solr/Reindex/Jobs/SolrReindexGroupQueuedJob.php +++ b/src/Solr/Reindex/Jobs/SolrReindexGroupQueuedJob.php @@ -74,7 +74,7 @@ class SolrReindexGroupQueuedJob extends SolrReindexQueuedJobBase $data->jobData->class = $this->class; $data->jobData->groups = $this->groups; $data->jobData->group = $this->group; - + return $data; } @@ -90,11 +90,6 @@ class SolrReindexGroupQueuedJob extends SolrReindexQueuedJobBase $this->group = $jobData->group; } - public function getSignature() - { - return md5(get_class($this) . time() . mt_rand(0, 100000)); - } - public function getTitle() { return sprintf( diff --git a/src/Solr/Reindex/Jobs/SolrReindexQueuedJob.php b/src/Solr/Reindex/Jobs/SolrReindexQueuedJob.php index 83da226..10175c0 100644 --- a/src/Solr/Reindex/Jobs/SolrReindexQueuedJob.php +++ b/src/Solr/Reindex/Jobs/SolrReindexQueuedJob.php @@ -51,7 +51,7 @@ class SolrReindexQueuedJob extends SolrReindexQueuedJobBase $data->jobData->batchSize = $this->batchSize; $data->jobData->taskName = $this->taskName; $data->jobData->classes = $this->classes; - + return $data; } @@ -65,11 +65,6 @@ class SolrReindexQueuedJob extends SolrReindexQueuedJobBase $this->classes = $jobData->classes; } - public function getSignature() - { - return __CLASS__; - } - public function getTitle() { return 'Solr Reindex Job'; diff --git a/src/Solr/Reindex/Jobs/SolrReindexQueuedJobBase.php b/src/Solr/Reindex/Jobs/SolrReindexQueuedJobBase.php index 074638e..b705981 100644 --- a/src/Solr/Reindex/Jobs/SolrReindexQueuedJobBase.php +++ b/src/Solr/Reindex/Jobs/SolrReindexQueuedJobBase.php @@ -138,6 +138,11 @@ abstract class SolrReindexQueuedJobBase implements QueuedJob return QueuedJob::QUEUED; } + public function getSignature() + { + return sha1(get_class($this) . time() . mt_rand(0, 100000)); + } + public function addMessage($message) { $this->messages[] = $message;