Junty task runner component.
$ composer require junty/junty-taskrunner
<?php
require 'vendor/autoload.php';
use Junty\TaskRunner\Runner\Runner;
$runner = new Runner();
$runner->task('say_hello', function () {
echo 'hello!';
});
$runner->my_task_2 = function () {
// ...
};
$runner->group('tests', function () {
$this->task('tests_for_users', function () {
// ...
});
$this->task('tests_for_admins', function () {
// ...
});
});
$runner->run(); // Runs all registred tasks
Creates a task with Junty\TaskRunner\Task\TaskInterface
or callable one.
$runner->task('my_task', function () {});
// or
$runner->task(new MyTask());
Creates a group of tasks with Junty\TaskRunner\Task\GroupInterface
or callable one.
$runner->group('my_group', function () {
$this->task('my_task_from_group_1', function () {});
// Another tasks
});
| A group and a task cannot have the same name!
Orders the execution task and groups order.
$runner->order('my_group', 'my_task', 'my_group_2');
Runs all tasks and groups.
$runner->run();
Runs a single registred task or instance of TaskInterface
.
$runner->runTask('my_registred_task');
// or
$runner->runTask(new MyTask());
Runs a single registred group or instance of GroupInterface
.
$runner->runGroup('my_registred_group');
// or
use Junty\TaskRunner\Task\Group;
$runner->runGroup(new class() extends Group
{
public function __construct()
{
}
public function getName() : string
{
return 'my_group';
}
public function task($task, callable $task = null)
{
}
public function getTasks() : TaskCollection
{
$collection = new TaskCollection();
$collection->set(new MyTask());
$collection->set(new MyOtherTask());
return $collection;
}
});