/** * 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; }
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); }