honzamac / conditional-retry
条件重试任何第三方API调用
v0.1
2017-08-16 20:14 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-09-24 09:05:59 UTC
README
条件重试任何第三方API调用。
有时网络连接可能无法正常工作,我们希望重试API调用。使用这个小型库,您可以根据特定的错误条件(由异常或返回值抛出)轻松地重试任何操作。
用法
重试的原因通过 return $result
返回。第一个参数是必需的API调用,第二个参数是条件回调,第三个参数定义API调用将执行的总运行次数。
<?php require __DIR__ . '/vendor/autoload.php'; retryConditional(function () { $result = $this->sms->send('+420800100200', 'Help, I\'m drowning!'); return $result; }, function ($returnValue) { return !$returnValue; }, 3);
重试的原因通过 RuntiomeException
返回。
<?php require __DIR__ . '/vendor/autoload.php'; retryConditional( function () { // do stuff throw new \RuntimeException(); }, function ($value, $exception) { return $exception instanceof \RuntimeException;}, 3 );
当所有重试都失败时,返回最后一个值/异常或重新抛出。有关更多信息,请查看测试。
需求
- 需要PHP 7.0,但强烈建议使用PHP的最新版本。
安装
您可以使用 Composer 将此库添加为本地、按项目依赖项到您的项目中。
composer require honzamac/conditional-retry
贡献
欢迎任何贡献。