如果某些条件得到满足,我怎样才能使函数:在PHP中,如何停止函数,等待并递归地重启自身,直到满足某些条件?
- 停止执行功能
- 等待X时间
- 重启功能
它会是这样的休息如:
function someFunc() {
if (x == 0) {
sleep(60);
someFunc();
return;
}
...other code only to be run if above is false...
}
someFunc();
...other code only to be run if above function finishes running completely...
万一它的相关和有一些图书馆处理APi限制或者什么,我正在做这个API连接。首先我收到一个webhook通过
file_get_contents('php://input')
其中包含一个URL。然后我打的URL以
file_get_contents($url)
和,解析$http_response_header
成$headers
阵列后,检查它的头作为if ($header['api_limit'] == 0) ...
(在上面的示例中,这是x
)。如果为0,那么我希望函数等待一分钟,直到极限周期重置并运行第二个file_get_contents($url)
及其后的解析。
我想以这种方式处理它的主要原因是不必记录任何东西。我通过file_get_contents('php://input')
收到的webhook只会发生一次。如果API速率限制被击中,并且我试图在webhook中使用该URL但失败,则该URL将丢失。所以我希望这个函数只需要等待X时间直到rte重新设置,直到试图再次使用webhook接收到的URL为file_get_contents($url)
。不知何故,这是不好的做法?
至于反对建立一个逻辑存储和cron处理脚本? –
这听起来很粗糙,有点复杂,不是吗?我建议记忆不好还是出于其他原因? –
我想以这种方式处理它的主要原因是不必记录任何东西。我通过'file_get_contents('php:// input')'接收的webhook只会发生一次。如果API速率限制被击中,并且我试图在webhook中使用该URL但失败,则该URL将丢失。所以我希望这个函数会等待X时间,直到rte重新设置,直到试图再次使用带有'file_get_contents($ url)'的webhook接收的URL。不知何故,这是不好的做法? –