tarantool/jobbuilder

一组实用类,帮助为 Tarantool JobQueue 创建复杂的工作。

v0.3.2 2022-10-11 19:10 UTC

This package is auto-updated.

Last update: 2024-09-11 23:28:52 UTC


README

Quality Assurance Telegram

一组实用类,帮助为 Tarantool JobQueue 创建复杂的工作。

安装

创建新应用程序的推荐方法是使用 Composer

composer require tarantool/jobbuilder

用法

use Tarantool\JobQueue\JobBuilder\JobBuilder;

...

$task = JobBuilder::fromService('service_foo', ['bar', 'baz'])
    ->withServiceMethod('qux')
    ->withConstantBackoff()
    ->withMaxRetries(3)
    ->withRecurrenceIntervalSeconds(600)
    ->withTimeToLiveSeconds(300)
    ->withTimeToRunSeconds(180)
    ->withPriority(4)
    ->withDelaySeconds(60)
    ->withTube('foobar')
    ->putTo($queue);
use App\Job\MyJob\MyJobHandler;
use Tarantool\JobQueue\JobBuilder\JobBuilder;
use Tarantool\JobQueue\JobBuilder\JobEmitter;

...

$jobBuilders = (static function () use ($ids) {
    foreach ($ids as $id) {
        yield JobBuilder::fromService(MyJobHandler::class, ['id' => $id]);
    }
})();

(new JobEmitter())->emit($jobBuilders, $queue);

测试

vendor/bin/phpunit

许可协议

该库在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。