我有一个数组,里面有大约500多个元素,这些元素将在一个函数中进行检查,然后我必须从API中为每个元素抓取数据(每个元素都是一个查询),这不允许我在短时间内有那么多的请求。这些元素将在一个函数中被检查,然后我将不得不从API中为每个元素抓取数据(每个元素都是一个查询),这不允许我在短时间内有那么多的请求。我将不得不运行一个延迟循环,很可能会超过30秒。
我想要的是,我的PHP脚本应该做一定量的检查请求,并从 "todo "列表中删除,然后在2秒后自我刷新并继续工作。
一个cronjob会启动这个php-script。
如何管理PHP在 "工作完成 "后或发生某种 "失败 "后重新启动脚本?这取决于这个事情,取决于我如何将 "todo-list"-数组中的数据存储到一个文件中,或者是一个$_SESSION。不想把这个存储到一个DB中。
我如何解决这个问题,而不需要在服务器上或脚本本身之外设置一些东西?
PHP的生命周期是基于请求的,即不能自己刷新。
你可以使用。
<script>
function onTimerRefreshFromApi() {
var request = new XMLHttpRequest();
request.open('GET', '/api/url', true);
request.onload = function () {
if (this.status >= 200 && this.status < 400) {
// On Success replace html
element.innerHTML = this.response;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function () {
// There was a connection error of some sort
};
request.send();
}
setInterval(onTimerRefreshFromApi, 1000);
</script>