tarantool / jobbuilder
一组实用类,帮助为 Tarantool JobQueue 创建复杂的工作。
v0.3.2
2022-10-11 19:10 UTC
Requires
- php: ^7.2.5|^8
- tarantool/queue: ^0.10
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpunit/phpunit: ^7.1|^8|^9
- vimeo/psalm: ^3.9|^4
This package is auto-updated.
Last update: 2024-09-11 23:28:52 UTC
README
一组实用类,帮助为 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 文件。