public function testStartDueJobs_3Jobs() { $this->daemon->startDueJobs(new DateTime('00:00:00')); $this->assertTrue($this->schedule->isRunning($this->schedule->getJob(1))); $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(2))); $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(3))); $this->assertTrue($this->schedule->isRunning($this->schedule->getJob(4))); while ($this->schedule->isRunning($this->schedule->getJob(1))) { sleep(1); } $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(1))); $this->assertTrue($this->schedule->isRunning($this->schedule->getJob(2))); $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(3))); while ($this->schedule->isRunning($this->schedule->getJob(4))) { sleep(1); } $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(4))); while ($this->schedule->isRunning($this->schedule->getJob(2))) { sleep(1); } $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(1))); $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(2))); $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(3))); $this->assertFalse($this->schedule->isRunning($this->schedule->getJob(4))); }
protected function execute(InputInterface $input, OutputInterface $output) { $table_name = $input->getArgument('table_name'); $conn = $this->getHelper('db')->getConnection(); $data = new Doctrine($conn, $table_name); $handler = new ConsoleHandler($output); $logger = new Logger('job-schedule'); $logger->pushHandler($handler); $schedule = new Schedule($data, $logger); $daemon = new Daemon($schedule, $logger); $logger->info('Daemon Started'); $daemon->start(); }