From 8371ff5c53b27a5e60d67fc78cb762ae45b11383 Mon Sep 17 00:00:00 2001 From: aman00323 Date: Thu, 2 Apr 2020 16:28:05 +0530 Subject: [PATCH 1/3] Add ack deadline #1168906818845353 --- src/PubSubQueue.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PubSubQueue.php b/src/PubSubQueue.php index 8450c56..81de181 100644 --- a/src/PubSubQueue.php +++ b/src/PubSubQueue.php @@ -165,6 +165,7 @@ public function pop($subscriber = null) 'returnImmediately' => true, 'maxMessages' => 1, ]); + $subscription->modifyAckDeadline(new Message($messages), 600); if (!empty($messages) && count($messages) > 0) { return new PubSubJob( From 6640a1ffa219f7c795521bbd844b7b3cec0db006 Mon Sep 17 00:00:00 2001 From: aman00323 Date: Thu, 9 Apr 2020 16:23:43 +0530 Subject: [PATCH 2/3] Retrive deadline from config #1168906818845353 --- src/PubSubQueue.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/PubSubQueue.php b/src/PubSubQueue.php index 81de181..007b91b 100644 --- a/src/PubSubQueue.php +++ b/src/PubSubQueue.php @@ -165,7 +165,15 @@ public function pop($subscriber = null) 'returnImmediately' => true, 'maxMessages' => 1, ]); - $subscription->modifyAckDeadline(new Message($messages), 600); + $queue = $this->getQueue($subscriber); + if ($this->config && $this->config['subscribers'] && $queue && isset($this->config['subscribers'][$queue])) { + $deadline = $this->config['subscribers']['deadline']; + foreach($deadline as $key => $row) { + if($key == $queue) { + $subscription->modifyAckDeadline(new Message($messages), $row); + } + } + } if (!empty($messages) && count($messages) > 0) { return new PubSubJob( From 82d06944c301eef1d64fdcae17bee0a28ce3bf81 Mon Sep 17 00:00:00 2001 From: aman00323 Date: Wed, 15 Apr 2020 13:10:24 +0530 Subject: [PATCH 3/3] Update code to get deadline#1168906818845353 --- README.md | 4 ++++ src/PubSubQueue.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 66656aa..0db0ae7 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,10 @@ You can check [Google Cloud PubSub client](http://googlecloudplatform.github.io/ 'sub2' => 'topic2', 'sub3' => 'topic2' // Multiple subscriber to single topic ], + // Specify sub for which you want to increase deadline + 'deadline' => [ + 'sub1' => 600, // provide duration that you want to increase + ], 'plain_handlers' => [ 'plain_sub' => App\Jobs\PlainClass::class // This one for non laravel format messages. ], diff --git a/src/PubSubQueue.php b/src/PubSubQueue.php index 007b91b..8f8d7af 100644 --- a/src/PubSubQueue.php +++ b/src/PubSubQueue.php @@ -167,7 +167,7 @@ public function pop($subscriber = null) ]); $queue = $this->getQueue($subscriber); if ($this->config && $this->config['subscribers'] && $queue && isset($this->config['subscribers'][$queue])) { - $deadline = $this->config['subscribers']['deadline']; + $deadline = $this->config['subscribers'][$queue]['deadline']; foreach($deadline as $key => $row) { if($key == $queue) { $subscription->modifyAckDeadline(new Message($messages), $row);