コード例 #1
0
ファイル: Task.php プロジェクト: gravitymedia/commander
 /**
  * Defer task.
  *
  * @param int      $pid
  * @param callable $deferrer
  *
  * @return $this
  */
 public function defer($pid, $deferrer)
 {
     $connection = $this->entityManager->getConnection();
     $this->entity->setPid($pid);
     $this->entityManager->flush();
     $connection->close();
     $exitCode = $deferrer();
     $connection->connect();
     $this->entity->setExitCode($exitCode);
     $this->entityManager->flush();
     return $this;
 }
コード例 #2
0
 /**
  * Test that all terminated tasks can be found.
  *
  * @group database
  */
 public function testFindingAllTerminated()
 {
     $entityManager = $this->getEntityManager();
     $entityOne = new TaskEntity();
     $entityOne->setPriority(TaskEntity::DEFAULT_PRIORITY);
     $entityOne->setCommandline('foo');
     $entityOne->setExitCode(0);
     $entityTwo = new TaskEntity();
     $entityTwo->setPriority(TaskEntity::DEFAULT_PRIORITY);
     $entityTwo->setCommandline('bar');
     $entityManager->persist($entityOne);
     $entityManager->persist($entityTwo);
     $entityManager->flush();
     $class = $entityManager->getClassMetadata(TaskEntity::class);
     $repository = new TaskEntityRepository($entityManager, $class);
     $entities = $repository->findAllWithNoExitCode();
     $this->assertCount(1, $entities);
     $this->assertSame('foo', $entities[0]->getCommandline());
 }