Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 1.23 KB

File metadata and controls

46 lines (36 loc) · 1.23 KB

Tasks (addon for Bear Framework)

A lightweight task scheduling and execution addon for Bear Framework. It lets you register task handlers, enqueue work items with scheduling and priority options, and process them via a runnable worker.

Snippets

Define task (register handler)

$app->tasks
    ->define('definition-id', function ($value): void {
        // code
    })

Add task

$app->tasks
    ->add('definition-id', 'example-value', [
        'id' => 'task-id', // optional
        'listID' => '', // empty value for the default list
        'startTime' => time() + 120, // start in 2 minutes
        'priority' => 3, // 1 - lowest, 5 - highest
        'ignoreIfExists' => true, // will check the id only
    ]);

Run tasks

$app->tasks
    ->addEventListener('runTask', function (\BearFramework\Tasks\RunTaskEventDetails $eventDetails) use ($app) {
        $app->logs->log('run-task', $eventDetails->definitionID);
    })
    ->run([
        'listID' => '',
        'maxExecutionTime' => 30
    ]);

Contributing

Contributions and bug reports are welcome. Open issues or submit pull requests to the repository.

License

This addon is free to use under the MIT license. See the LICENSE file for details.