php - 在脚本中多次调用 ini_set
问题描述
我想根据我希望它们运行的持续时间增加特定脚本的超时,而不影响默认超时。这是因为我的一些脚本会定期运行一个循环来查询我的数据库并返回信息以进行处理。在许多情况下,循环(不是处理)可能会运行很多分钟。请注意,这些是 exec 调用的后台脚本,不会影响用户等待响应,因此没有问题。
我的想法如下:
- 在第一次循环迭代中,从数据库中获取一些数据并计算该脚本预计运行的秒数并将其存储在 $duration 中。我如何计算持续时间并不重要 - 只需假设返回以秒为单位的值
- 根据 $duration 使用小缓冲区设置此脚本的最大执行时间,如下所示: ini_set('max_execution_time', $duration + 1);
- 在下一次和后续迭代中,如果 $duration 大于当前值,则再次运行步骤 2 中的代码
我的主要问题是是否可以/可以在脚本中多次调用带有“max_execution_time”的ini_set(在某些情况下,这可能是数百次)。
一个相关的问题是上述方法是否是最好的方法,或者是否有更好的选择。
我已经检查了 SO 和 PHP 手册页,找不到任何说您不能多次运行 ini_set 的内容,但是没有具体说明您是否可以/应该(或者在调用之后它是否可以工作)第一次)。
解决方案
推荐阅读
- html - 为什么 WhatsApp 链接共享中没有显示图像?
- react-native - 重新渲染平面列表的问题
- reactjs - 当父组件重新渲染时,使用 `react-redux` 的子组件的行为如何改变?
- javascript - 在移动设备上查看时如何将导航项目移出屏幕
- python - 2个不同的for循环(python)有什么区别:
- c++ - 将透明图像放在不透明上 - opencv
- google-apps-script - 如何在特定条件下更改某个范围内的日期?
- python - 将值附加到 Django 模型
- ios - 解码 Base64 字符串返回 nil
- c - 从c中的数据文件中读取