/** * Gets the next calculated job runtime for given project. * * @param Xinc\Core\Models\Project $project * * @return integer next job runtime as timestamp */ public function getNextProjectRunTime(\Xinc\Core\Models\Project $project) { if ($this->nextJobRunTime === null) { if ($project->getStatus() !== \Xinc\Core\Project\Status::ENABLED) { return null; } $this->nextJobRunTime = $this->getNextTime($project->getLastJob()); } return $this->nextJobRunTime; }
protected function checkSensor(\Xinc\Core\Models\Project $project) { if ($project->getStatus() === \Xinc\Core\Project\Status::ENABLED) { foreach ($project->getProcessBySlot(\Xinc\Core\Task\Slot::INIT_PROCESS) as $process) { $nextRunTime = $process->getNextProjectRunTime($project); $this->mediator->log('Next ' . $nextRunTime); } } }
/** * Adds a project to the engine. * * @param \Xinc\Core\Models\Project $project A project inside this engine. * * @return void */ public function addProject(\Xinc\Core\Models\Project $project) { $this->mediator->log('Add project ' . $project->getName()); $this->projects[] = $project; $this->parseProject($project); }