public function setUp() { $factory = new Factory(); $this->recruiterDb = $factory->getMongoDb($hosts = 'localhost:27017', $options = [], $dbName = 'recruiter'); $this->recruiterDb->drop(); $this->repository = new Repository($this->recruiterDb); $this->clock = T\clock()->stop(); $this->eventDispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface'); }
public function setUp() { $factory = new Factory(); $this->recruiterDb = $factory->getMongoDb($hosts = 'localhost:27017', $options = [], $dbName = 'recruiter'); $this->cleanDb(); $this->files = ['/tmp/recruiter.log', '/tmp/worker.log']; $this->cleanLogs(); $this->roster = $this->recruiterDb->selectCollection('roster'); $this->recruiter = new Recruiter($this->recruiterDb); $this->jobs = 0; $this->processRecruiter = null; $this->processCleaner = null; $this->processWorkers = []; }
#!/usr/bin/env php <?php require __DIR__ . '/../vendor/autoload.php'; use Recruiter\Recruiter; use Recruiter\Factory; use Recruiter\Workable\LazyBones; use Recruiter\Worker; use Recruiter\Option\MemoryLimit; $factory = new Factory(); $db = $factory->getMongoDb($hosts = 'localhost:27017', $options = [], $dbName = 'recruiter'); $db->drop(); $recruiter = new Recruiter($db); LazyBones::waitForMs(200, 100)->asJobOf($recruiter)->inGroup('mail')->inBackground()->execute(); $memoryLimit = new MemoryLimit('memory-limit', '64MB'); $worker = $recruiter->hire($memoryLimit); $worker->workOnJobsGroupedAs('mail'); $assignments = $recruiter->assignJobsToWorkers(); $worker->work();