This component provides an command line tool named scabbia
and Scabbia\Tasks\TaskBase
base class to help users create specific tasks with them. These tasks can be started in source code or command line.
namespace MyProject;
use Scabbia\Tasks\TaskBase;
use Scabbia\Formatters\FormatterInterface;
class MyTaskTask extends TaskBase {
public function executeTask(array $parameters, FormatterInterface $formatter) {
$formatter->write('task is executed, with parameters:');
$formatter->writeArray($parameters);
}
public function help(FormatterInterface $formatter) {
$formatter->write('help');
}
}
scabbia myProject:myTask
command will execute your task. Also scabbia help myProject:myTask
displays the help you've provided.
You can also create your custom command line app, just refer to vendor/bin/scabbia
.
use Scabbia\Tasks\Tasks;
Tasks::run('myProject:myTask', ['parameter1', 'parameter2']);
use Scabbia\Tasks\Tasks;
Tasks::$namespaces[] = 'MyProject';
Therefore scabbia myTask
will be sufficent to execute your task.
It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome. All contributions should be filed on the eserozvataf/scabbia2-tasks repository.