/** * 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); }
/** * Returns true if the job has been executed without any warning * * @param JobExecution $jobExecution * * @return bool */ protected function executionComplete(JobExecution $jobExecution) { if (ExitStatus::COMPLETED !== $jobExecution->getExitStatus()->getExitCode()) { return false; } foreach ($jobExecution->getStepExecutions() as $stepExecution) { if (count($stepExecution->getWarnings())) { return false; } } return true; }