summaryrefslogtreecommitdiff
path: root/vendor/fguillot/simple-queue/src/Adapter/BeanstalkQueueAdapter.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/fguillot/simple-queue/src/Adapter/BeanstalkQueueAdapter.php')
-rw-r--r--vendor/fguillot/simple-queue/src/Adapter/BeanstalkQueueAdapter.php120
1 files changed, 0 insertions, 120 deletions
diff --git a/vendor/fguillot/simple-queue/src/Adapter/BeanstalkQueueAdapter.php b/vendor/fguillot/simple-queue/src/Adapter/BeanstalkQueueAdapter.php
deleted file mode 100644
index 407f60e2..00000000
--- a/vendor/fguillot/simple-queue/src/Adapter/BeanstalkQueueAdapter.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-
-namespace SimpleQueue\Adapter;
-
-use DateTime;
-use Pheanstalk\Job as BeanstalkJob;
-use Pheanstalk\Pheanstalk;
-use Pheanstalk\PheanstalkInterface;
-use SimpleQueue\Job;
-use SimpleQueue\QueueAdapterInterface;
-
-/**
- * Class BeanstalkQueueAdapter
- *
- * @package SimpleQueue\Adapter
- */
-class BeanstalkQueueAdapter implements QueueAdapterInterface
-{
- /**
- * @var PheanstalkInterface
- */
- protected $beanstalk;
-
- /**
- * @var string
- */
- protected $queueName = '';
-
- /**
- * BeanstalkQueueAdapter constructor.
- *
- * @param PheanstalkInterface $beanstalk
- * @param string $queueName
- */
- public function __construct(PheanstalkInterface $beanstalk, $queueName)
- {
- $this->beanstalk = $beanstalk;
- $this->queueName = $queueName;
- }
-
- /**
- * Send a job
- *
- * @access public
- * @param Job $job
- * @return $this
- */
- public function push(Job $job)
- {
- $this->beanstalk->putInTube($this->queueName, $job->serialize());
- return $this;
- }
-
- /**
- * Schedule a job in the future
- *
- * @access public
- * @param Job $job
- * @param DateTime $dateTime
- * @return $this
- */
- public function schedule(Job $job, DateTime $dateTime)
- {
- $now = new DateTime();
- $when = clone($dateTime);
- $delay = $when->getTimestamp() - $now->getTimestamp();
-
- $this->beanstalk->putInTube($this->queueName, $job->serialize(), Pheanstalk::DEFAULT_PRIORITY, $delay);
- return $this;
- }
-
- /**
- * Wait and get job from a queue
- *
- * @access public
- * @return Job|null
- */
- public function pull()
- {
- $beanstalkJob = $this->beanstalk->reserveFromTube($this->queueName);
-
- if ($beanstalkJob === false) {
- return null;
- }
-
- $job = new Job();
- $job->setId($beanstalkJob->getId());
- $job->unserialize($beanstalkJob->getData());
-
- return $job;
- }
-
- /**
- * Acknowledge a job
- *
- * @access public
- * @param Job $job
- * @return $this
- */
- public function completed(Job $job)
- {
- $beanstalkJob = new BeanstalkJob($job->getId(), $job->serialize());
- $this->beanstalk->delete($beanstalkJob);
- return $this;
- }
-
- /**
- * Mark a job as failed
- *
- * @access public
- * @param Job $job
- * @return $this
- */
- public function failed(Job $job)
- {
- $beanstalkJob = new BeanstalkJob($job->getId(), $job->serialize());
- $this->beanstalk->bury($beanstalkJob);
- return $this;
- }
-}