我的 PHP 脚本正在使用 API 请求及其 SDK 处理多个外部服务。碰巧,请求可能会失败,我想实现一个重试机制。
SDK 没有内置此功能,它们只会抛出一个Exceptionif 请求不成功。
我已经创建了多个使用 SDK 来检索/上传所需数据的函数,现在我想在任何 SDK 请求失败时添加重试机制。我可以在每个 SDK 调用周围添加一段代码,如下所示:
$retry = 0;
while ($retry < 3) {
try {
$account = $client->load('account');
} catch (\Exception $e) {
$retry++;
}
}
但这意味着我将在每个 SDK 函数调用中添加相同的代码,这将是一团糟。
PHP中是否有可能创建一个通用函数或某种包装器,如果它失败(抛出一个Exception)将重试执行函数?
PS SDK 用于curl发送请求。也许,可以调整curl以实现这种重试机制?