Programming Language PHP
Namespace Oro\Component\MessageQueue\Job
Class Job
Method/Function setStatus
Total Examples 5
5 code examples of PHP Oro\Component\MessageQueue\Job\Job::setStatus extracted from open source projects
private function updateRootJob(Job $rootJob): void
{
$rootJob->setLastActiveAt(new \DateTime());
$statusAndProgressCalculator = $this->statusCalculatorResolver->getCalculatorForRootJob($rootJob);
$rootJobStatus = $statusAndProgressCalculator->calculateRootJobStatus();
$rootJob->setStatus($rootJobStatus);
if ($this->jobStatusChecker->isJobStopped($rootJob)) {
$rootJob->setStoppedAt(new \DateTime());
}
$progress = $statusAndProgressCalculator->calculateRootJobProgress();
if ($rootJob->getJobProgress() !== $progress) {
$rootJob->setJobProgress($progress);
}
$statusAndProgressCalculator->clean();
if ($this->jobStatusChecker->isJobStopped($rootJob)) {
$message = new Message(['jobId' => $rootJob->getId()], MessagePriority::HIGH);
$this->messageProducer->send(RootJobStoppedTopic::getName(), $message);
}
}
public function failAndRedeliveryChildJob(Job $job): void
{
if ($job->isRoot()) {
throw new \LogicException(sprintf('Can\'t fail root jobs. id: "%s"', $job->getId()));
}
$job->setStatus(Job::STATUS_FAILED_REDELIVERED);
$this->jobManager->saveJob($job);
}
public function failChildJob(Job $job): void
{
if ($job->isRoot()) {
throw new \LogicException(sprintf('Can\'t fail root jobs. id: "%s"', $job->getId()));
}
$job->setStatus(Job::STATUS_FAILED);
$job->setStoppedAt(new \DateTime());
$this->jobManager->saveJob($job);
}
public function successChildJob(Job $job): void
{
if ($job->isRoot()) {
throw new \LogicException(sprintf('Can\'t success root jobs. id: "%s"', $job->getId()));
}
$job->setStatus(Job::STATUS_SUCCESS);
$job->setJobProgress(1);
$job->setStoppedAt(new \DateTime());
$this->jobManager->saveJob($job);
}
public function startChildJob(Job $job): void
{
if ($job->isRoot()) {
throw new \LogicException(sprintf('Can\'t start root jobs. id: "%s"', $job->getId()));
}
if (!in_array($job->getStatus(), $this->getNotStartedJobStatuses(), true)) {
throw new JobCannotBeStartedException($job);
}
$job->setStatus(Job::STATUS_RUNNING);
$job->setStartedAt(new \DateTime());
$this->jobManager->saveJob($job);
}