keboola / settle
Settle 提供了一个等待某件事情发生的功能。
1.0.1
2024-01-25 07:43 UTC
Requires
- php: >=7.4
- ext-json: *
- keboola/common-exceptions: ^1.1
- psr/log: ^1.1|^2.0|^3.0
- symfony/config: ^5.2|^6.2
Requires (Dev)
- infection/infection: ^0.26
- keboola/coding-standard: >=14.0.0
- monolog/monolog: ^2.1
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- sempro/phpunit-pretty-print: ^1.4
- symfony/dotenv: ^6.2
- dev-main
- 1.0.1
- 1.0.0
- dev-erik-PST-2051
- dev-odin-PST-1670
- dev-pepa_PST-777_tableIngoGenerator
- dev-pepa_auth_adminToken
- dev-pepa_k8s_deployment
- dev-roman-pst-1710
- dev-rrik-om-ci-fixup
- dev-erik-GCP-374-part1
- dev-erik-GCP-374-part3
- dev-erik-GCP-472
- dev-erik-PST-850-part2
- dev-odin-GCP-374-c
- dev-erik-PST-780-pokuse
- dev-zajca-event-grid
This package is auto-updated.
Last update: 2024-09-20 10:14:07 UTC
README
提供一个等待某件事情发生的功能的库。使用方法
use Keboola\Settle\SettleFactory; use Psr\Log\NullLogger; $logger = new NullLogger(); $factory = new SettleFactory($logger); $settle = $factory->createSettle(maxAttempts: 10, maxAttemptsDelay: 1); $i = 0; $settle->settle( comparator: fn($v) => $v === 5, getCurrentValue: function() use (&$i) {while ($i < 5) {$i++; return $i;}}, );
settle
函数期望两个回调函数 - comparator
和 getCurrentValue
。在典型场景中,getCurrentValue
检查并返回某些异步操作的结果(数据已加载,进程已完成),而 comparator
检查 getCurrentValue
的结果是否为预期值。如果在指定的尝试次数内未达到预期值,则抛出 RuntimeException
异常。
许可证
MIT 许可证,见 LICENSE 文件。