gpt4 book ai didi

php - 管理长时间运行的 php 脚本的最佳方法?

转载 作者:IT老高 更新时间:2023-10-28 11:55:47 25 4
gpt4 key购买 nike

我有一个 PHP 脚本需要很长时间(5-30 分钟)才能完成。以防万一,脚本使用 curl 从另一台服务器上抓取数据。这就是它需要这么长时间的原因。它必须等待每个页面加载完毕,然后再处理它并移至下一个。

我希望能够启动脚本并让它一直运行到它完成为止,这将在数据库表中设置一个标志。

我需要知道的是如何在脚本完成运行之前结束 http 请求。另外,php 脚本是最好的方法吗?

最佳答案

当然可以使用 PHP 完成,但是您不应该将其作为后台任务执行 - 新进程必须与启动它的进程组分离。

由于人们一直对这个常见问题给出相同的错误答案,我在这里写了一个更完整的答案:

http://symcbean.blogspot.com/2010/02/php-and-long-running-processes.html

来自评论:

The short version is shell_exec('echo /usr/bin/php -q longThing.php | at now'); but the reasons "why", are a bit long for inclusion here.

更新 +12 年

虽然这仍然是调用长时间运行的代码的好方法,但限制甚至禁用 Web 服务器中的 PHP 启动其他可执行文件的能力对安全性有好处。而且由于这将日志运行的行为与启动它的行为分离,因此在许多情况下,使用守护程序或 cron 作业可能更合适。

关于php - 管理长时间运行的 php 脚本的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com