我有一个包含约500多个元素的数组。这些元素将在函数中进行检查,然后我将不得不从API中为每个元素(每个元素都是一个查询)获取数据,这不允许我在短时间内请求太多。我必须运行一个延迟循环,很可能会超过30秒。
我想要的是,我的PHP脚本应进行一定数量的检查/请求,并从“待办事项”列表中删除,然后自我刷新并在约2秒后继续执行工作。
cronjob将启动此php脚本。
在“工作完成”之后或发生某种“故障”之后,如何管理PHP重新启动脚本?这取决于这件事,取决于我如何将“ todo-list”数组中的数据存储到文件或$ _SESSION中。不想将其存储到数据库中。
如何解决此问题而无需在服务器上或脚本本身之外进行设置?
答案 0 :(得分:1)
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>