php - PHP sleep() in Loop,阻塞所有后续调用
问题描述
你好,堆积的溢出者..
我目前在循环中使用 PHP 的sleep()
方法时遇到问题。
我希望能够pause()
在任何给定时刻执行长批处理脚本。
在我的长批处理脚本中,我将检查位于 memcached 中的标志;如果设置,则激活将尝试“暂停”脚本。
请看下面:
session_write_close(); //Apparent Session Induced Fix that Doesn't Work
do {
$halted = $this->memcache->get("halted");
if ($halted) {
sleep(1);
}
} while ($halted);
使用上面的代码,我能够成功地“暂停”我的脚本。sleep()
除了似乎阻止对服务器的所有后续请求的事实;当在循环中。
我知道sleep()
需要阻止当前线程来做它的事情。但我不确定为什么它会阻止所有后续请求。
- 有谁知道可能会发生什么?
- 是否有任何替代方法可以有效地“暂停”任何 PHP 脚本中途?
解决方案
推荐阅读
- excel - 当“sheet.range”列不为空时,在下一个空列中插入数据
- java - 如何检查产品是否从 selenium java 中的购物车中删除?
- php - laravel 7 + vue.js 3 + 护照 401 未经授权
- reactjs - Jest 无法解析 CSS 样式表
- vb.net - 从 VB.NET 中的注册表获取实际 REG_DWORD 十进制数的另一种方法?
- r - 逐行创建data.table
- json - 使用不同 JSON 的内容作为输入以使用 jq 进行修改
- javascript - 如何解决反应数组映射功能错误?
- jsf - 验证器未显示在咆哮或消息中
- python - 我在卸载 pytorch 时遇到问题