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 8450c56..8f8d7af 100644 --- a/src/PubSubQueue.php +++ b/src/PubSubQueue.php @@ -165,6 +165,15 @@ public function pop($subscriber = null) 'returnImmediately' => true, 'maxMessages' => 1, ]); + $queue = $this->getQueue($subscriber); + if ($this->config && $this->config['subscribers'] && $queue && isset($this->config['subscribers'][$queue])) { + $deadline = $this->config['subscribers'][$queue]['deadline']; + foreach($deadline as $key => $row) { + if($key == $queue) { + $subscription->modifyAckDeadline(new Message($messages), $row); + } + } + } if (!empty($messages) && count($messages) > 0) { return new PubSubJob(