/**
  * Check if the given JoExecution is still running using his PID
  * @param JobExecution $jobExecution
  *
  * @return bool
  */
 public function checkRunningStatus(JobExecution $jobExecution)
 {
     if (BatchStatus::STARTING !== $jobExecution->getStatus()->getValue() && (ExitStatus::UNKNOWN === $jobExecution->getExitStatus()->getExitCode() || ExitStatus::EXECUTING === $jobExecution->getExitStatus()->getExitCode())) {
         return $this->processIsRunning($jobExecution);
     }
     return true;
 }
 function it_checks_a_job_execution_is_not_running(JobExecution $jobExecution, BatchStatus $status, ExitStatus $exitStatus)
 {
     $jobExecution->getStatus()->willReturn($status);
     $jobExecution->getExitStatus()->willReturn($exitStatus);
     $status->getValue()->willReturn(BatchStatus::STARTING);
     $exitStatus->getExitCode()->willReturn(ExitStatus::STOPPED);
     $this->checkRunningStatus($jobExecution)->shouldReturn(true);
 }
 function it_returns_factory(JobExecution $jobExecution, JobInstance $jobInstance, BatchStatus $batchStatus)
 {
     $jobExecution->getJobInstance()->willReturn($jobInstance);
     $jobExecution->getStatus()->willReturn($batchStatus);
     $jobExecution->getId()->willReturn(1);
     $batchStatus->isUnsuccessful()->willReturn(true);
     $jobInstance->getType()->willReturn('import');
     $jobInstance->getLabel()->willReturn('Import');
     $this->create($jobExecution)->shouldReturnAnInstanceOf('Pim\\Bundle\\NotificationBundle\\Entity\\Notification');
 }
 function let(NotificationManager $manager, JobExecutionEvent $event, JobExecution $jobExecution, StepExecution $stepExecution, ArrayCollection $warnings, JobInstance $jobInstance, UserInterface $user, BatchStatus $status)
 {
     $this->beConstructedWith($manager);
     $jobExecution->getUser()->willReturn($user);
     $jobExecution->getStepExecutions()->willReturn([$stepExecution]);
     $jobExecution->getStatus()->willReturn($status);
     $jobExecution->getJobInstance()->willReturn($jobInstance);
     $stepExecution->getWarnings()->willReturn($warnings);
     $jobExecution->getId()->willReturn(5);
     $jobInstance->getType()->willReturn('export');
     $jobInstance->getLabel()->willReturn('Product export');
     $event->getJobExecution()->willReturn($jobExecution);
 }
 function it_normalizes_a_job_execution_instance(JobExecution $jobExecution, StepExecution $exportExecution, StepExecution $cleanExecution, BatchStatus $status, $serializer, $translator)
 {
     $jobExecution->getFailureExceptions()->willReturn([['message' => 'error', 'messageParameters' => ['foo' => 'bar']]]);
     $translator->trans('error', ['foo' => 'bar'])->willReturn('Such error');
     $jobExecution->getLabel()->willReturn('Wow job');
     $jobExecution->isRunning()->willReturn(true);
     $jobExecution->getStatus()->willReturn($status);
     $status->getValue()->willReturn(1);
     $translator->trans('pim_import_export.batch_status.1')->willReturn('COMPLETED');
     $jobExecution->getStepExecutions()->willReturn([$exportExecution, $cleanExecution]);
     $serializer->normalize($exportExecution, 'any', [])->willReturn('**exportExecution**');
     $serializer->normalize($cleanExecution, 'any', [])->willReturn('**cleanExecution**');
     $this->normalize($jobExecution, 'any')->shouldReturn(['label' => 'Wow job', 'failures' => ['Such error'], 'stepExecutions' => ['**exportExecution**', '**cleanExecution**'], 'isRunning' => true, 'status' => 'COMPLETED']);
 }
 /**
  * Return the job execution status
  *
  * @param JobExecution $jobExecution
  *
  * @return string
  */
 protected function getJobStatus(JobExecution $jobExecution)
 {
     if ($jobExecution->getStatus()->isUnsuccessful()) {
         $status = 'error';
     } else {
         $status = 'success';
         foreach ($jobExecution->getStepExecutions() as $stepExecution) {
             if ($stepExecution->getWarnings()->count() > 0) {
                 $status = 'warning';
                 break;
             }
         }
     }
     return $status;
 }
Пример #7
0
 function it_executes(JobExecution $jobExecution, JobRepositoryInterface $jobRepository, EventDispatcherInterface $dispatcher, BatchStatus $status)
 {
     $this->setEventDispatcher($dispatcher);
     $this->setJobRepository($jobRepository);
     $jobExecution->getStatus()->willReturn($status);
     $status->getValue()->willReturn(BatchStatus::UNKNOWN);
     $dispatcher->dispatch(EventInterface::BEFORE_JOB_EXECUTION, Argument::any())->shouldBeCalled();
     $jobExecution->setStartTime(Argument::any())->shouldBeCalled();
     $jobExecution->setStatus(Argument::any())->shouldBeCalled();
     $dispatcher->dispatch(EventInterface::AFTER_JOB_EXECUTION, Argument::any())->shouldBeCalled();
     $jobExecution->setEndTime(Argument::any())->shouldBeCalled();
     $this->execute($jobExecution);
 }