for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace SfCod\QueueBundle\Connector;
use SfCod\QueueBundle\Base\JobResolverInterface;
use SfCod\QueueBundle\Queue\MongoQueue;
use SfCod\QueueBundle\Queue\QueueInterface;
use SfCod\QueueBundle\Service\MongoDriver;
/**
* Connector for queue to mongodb
*
* @author Orlov Aleksey <[email protected]>
* @author Virchenko Maksim <[email protected]>
*/
class MongoConnector implements ConnectorInterface
{
* @var JobResolverInterface
protected $jobResolver;
* @var MongoDriver
protected $mongo;
* MongoConnector constructor.
* @param JobResolverInterface $jobResolver
* @param MongoDriver $mongo
public function __construct(JobResolverInterface $jobResolver, MongoDriver $mongo)
$this->jobResolver = $jobResolver;
$this->mongo = $mongo;
}
* Establish a queue database.
* @param array $config
* @return QueueInterface
public function connect(array $config): QueueInterface
$config = array_merge([
'limit' => 15,
], $config);
$queue = new MongoQueue(
$this->jobResolver,
$this->mongo,
$config['collection'],
$config['queue'],
$config['expire'],
$config['limit']
);
return $queue;