public function testParseAndRunCommand() { $result = TaskRunner::parseAndRunCommand('vm\\cron_tests\\ActionMock::returnResult()'); $this->assertTrue($result); $result = TaskRunner::parseAndRunCommand('vm\\cron_tests\\ActionMock::wrongMethod()'); $this->assertFalse($result); TaskLoader::setClassFolder(__DIR__ . '/runner_mocks'); $result = TaskRunner::parseAndRunCommand('RunnerMock::anyMethod()'); $this->assertFalse($result); }
public function actionRunTask() { if (isset($_POST['task_id'])) { $tasks = !is_array($_POST['task_id']) ? [$_POST['task_id']] : $_POST['task_id']; foreach ($tasks as $t) { $task = Task::findOne($t); /** * @var Task $task */ $output = TaskRunner::runTask($task); echo $output . '<hr>'; } } elseif (isset($_POST['custom_task'])) { $result = TaskRunner::parseAndRunCommand($_POST['custom_task']); echo $result ? 'success' : 'failed'; } else { echo 'empty task id'; } }