为了账号安全,请及时绑定邮箱和手机立即绑定

最好的方法来管理长期运行的PHP脚本?

最好的方法来管理长期运行的PHP脚本?

PHP
长风秋雁 2019-10-16 11:03:46
我有一个需要很长时间(5-30分钟)才能完成的PHP脚本。以防万一,脚本正在使用curl从另一台服务器上刮取数据。这就是它花费这么长时间的原因。它必须等待每个页面加载,然后再处理并移至下一页。我希望能够启动脚本并放任其完成,这将在数据库表中设置一个标志。我需要知道的是如何能够在脚本完成运行之前结束http请求。另外,php脚本是做到这一点的最佳方法吗?
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

快速而肮脏的方法是ignore_user_abort在php中使用该函数。基本上是这样说的:不管用户做什么,运行脚本直到完成。如果它是一个面向公众的网站,则有些危险(因为如果启动20次,最终有可能同时运行20个++版本的脚本)。

“干净”的方式(至少是IMHO)是在您要启动进程时设置一个标志(例如,在数据库中),并每小时(约等)运行一次cronjob来检查该标志是否已设置。如果已设置,则将运行长时间运行的脚本;如果未设置,则不会发生什么。


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 521 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信