是否有任何选项可以检查 API 是否需要超过 10 秒才能调用 PHP?
Is there any option to check if API take more than 10 second to call in PHP?
实际上,我正在实施一个 cron,我需要调用超过 50 个 APIs。所以,我想实现类似的功能,如果 API 的调用时间超过 10 秒,我将跳过它。
实际上,我正在使用 PHP 5.6。我试图实施循环法。我没有任何东西可以检查 API 是否需要超过 10 秒才能调用。
您可以使用 ReactPHP
工具来实现此目的。这里的例子是如何使用定时器 https://blog.wyrihaximus.net/2015/01/reactphp-timers/
示例:
require 'vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$i = 0;
$loop->addPeriodicTimer(1, function(React\EventLoop\Timer\Timer $timer) use (&$i, $loop) {
if ($i == 0) {
// send request
} elseif($i < 10){
// check response
} else {
// cancel request and cancel timer
$loop->cancelTimer($timer);
}
++$i;
});
$loop->run();
实际上,我正在实施一个 cron,我需要调用超过 50 个 APIs。所以,我想实现类似的功能,如果 API 的调用时间超过 10 秒,我将跳过它。
实际上,我正在使用 PHP 5.6。我试图实施循环法。我没有任何东西可以检查 API 是否需要超过 10 秒才能调用。
您可以使用 ReactPHP
工具来实现此目的。这里的例子是如何使用定时器 https://blog.wyrihaximus.net/2015/01/reactphp-timers/
示例:
require 'vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$i = 0;
$loop->addPeriodicTimer(1, function(React\EventLoop\Timer\Timer $timer) use (&$i, $loop) {
if ($i == 0) {
// send request
} elseif($i < 10){
// check response
} else {
// cancel request and cancel timer
$loop->cancelTimer($timer);
}
++$i;
});
$loop->run();