示例#1
0
 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();
 }