mult1mate\crontab\TaskRunner::checkAndRunTasks PHP Method

checkAndRunTasks() public static method

Runs active tasks if current time matches with time expression
public static checkAndRunTasks ( array $tasks )
$tasks array
    public static function checkAndRunTasks($tasks)
    {
        $date = date('Y-m-d H:i:s');
        foreach ($tasks as $t) {
            /**
             * @var TaskInterface $t
             */
            if (TaskInterface::TASK_STATUS_ACTIVE != $t->getStatus()) {
                continue;
            }
            try {
                $cron = CronExpression::factory($t->getTime());
                if ($cron->isDue($date)) {
                    self::runTask($t);
                }
            } catch (\Exception $e) {
                echo 'Caught an exception: ' . get_class($e) . ': ' . PHP_EOL . $e->getMessage() . PHP_EOL;
            }
        }
    }

Usage Example

 public function testCheckAndRunTasks()
 {
     $task_inactive = TaskMock::createNew();
     $task = TaskMock::createNew();
     $task->setStatus(TaskInterface::TASK_STATUS_ACTIVE);
     $task->setTime('* * * * *');
     TaskRunner::checkAndRunTasks(array($task, $task_inactive));
 }
All Usage Examples Of mult1mate\crontab\TaskRunner::checkAndRunTasks