예제 #1
0
 /**
  * @inheritdoc
  */
 public function release(array $message, $delay = 0)
 {
     $this->sqs->changeMessageVisibility(['QueueUrl' => $message['queue'], 'ReceiptHandle' => $message['receipt-handle'], 'VisibilityTimeout' => $delay]);
 }
예제 #2
0
 /**
  * {@inheritdoc}
  */
 public function release(int $delay = 0)
 {
     parent::release($delay);
     $this->sqs->changeMessageVisibility(['QueueUrl' => $this->queue, 'ReceiptHandle' => $this->job['ReceiptHandle'], 'VisibilityTimeout' => $delay]);
 }
예제 #3
0
 /**
  * {@inheritDoc}
  */
 public function returnMessage(QueueMessage $message)
 {
     $queueUrl = $this->getQueueUrl($message->getQueueId());
     $this->queueClient->changeMessageVisibility(["QueueUrl" => $queueUrl, "ReceiptHandle" => $message->getReceiptId(), "VisibilityTimeout" => 0]);
 }
예제 #4
0
 /**
  * Mark a job as failed
  *
  * @access public
  * @param  Job $job
  * @return $this
  */
 public function failed(Job $job)
 {
     $this->sqsClient->changeMessageVisibility(array('QueueUrl' => $this->sqsUrl, 'ReceiptHandle' => $job->getId(), 'VisibilityTimeout' => 0));
     return $this;
 }
예제 #5
-2
 /**
  * Release the job.
  *
  * @param Job $job The job to release.
  *
  * @return boolean whether the operation succeed.
  */
 public function releaseJob(Job $job)
 {
     if (!empty($job->header['ReceiptHandle'])) {
         $receiptHandle = $job->header['ReceiptHandle'];
         $response = $this->_client->changeMessageVisibility(['QueueUrl' => $this->url, 'ReceiptHandle' => $receiptHandle, 'VisibilityTimeout' => 0]);
         return $response !== null;
     } else {
         return false;
     }
 }
예제 #6
-2
 /**
  * Releases a message back to the queue, making it visible again
  *
  * @param Message $message
  * @return bool  returns true if successful, false otherwise
  */
 public function release(Message $message)
 {
     try {
         // Set the visibility timeout to 0 to make the message visible in the queue again straight away
         $this->sqs_client->changeMessageVisibility(array('QueueUrl' => $this->url, 'ReceiptHandle' => $message->receipt_handle, 'VisibilityTimeout' => 0));
         return true;
     } catch (Exception $e) {
         echo 'Error releasing job back to queue ' . $e->getMessage();
         return false;
     }
 }