Include composer dependencies in repo

This commit is contained in:
Frederic Guillot
2017-10-25 16:22:10 -07:00
parent c507c54162
commit 9e2b2a32fd
1787 changed files with 123616 additions and 45 deletions

View File

@@ -0,0 +1,92 @@
<?php
namespace SimpleQueue;
use DateTime;
/**
* Class Queue
*
* @package SimpleQueue
*/
class Queue implements QueueAdapterInterface
{
/**
* @var QueueAdapterInterface
*/
protected $queueAdapter;
/**
* Queue constructor.
*
* @param QueueAdapterInterface $queueAdapter
*/
public function __construct(QueueAdapterInterface $queueAdapter)
{
$this->queueAdapter = $queueAdapter;
}
/**
* Send a job
*
* @access public
* @param Job $job
* @return $this
*/
public function push(Job $job)
{
$this->queueAdapter->push($job);
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)
{
$this->queueAdapter->schedule($job, $dateTime);
return $this;
}
/**
* Wait and get job from a queue
*
* @access public
* @return Job|null
*/
public function pull()
{
return $this->queueAdapter->pull();
}
/**
* Acknowledge a job
*
* @access public
* @param Job $job
* @return $this
*/
public function completed(Job $job)
{
$this->queueAdapter->completed($job);
return $this;
}
/**
* Mark a job as failed
*
* @access public
* @param Job $job
* @return $this
*/
public function failed(Job $job)
{
$this->queueAdapter->failed($job);
return $this;
}
}