我有一个需要很长时间(5-30分钟)才能完成的PHP脚本。以防万一,脚本正在使用curl从另一台服务器上刮取数据。这就是它花费这么长时间的原因。它必须等待每个页面加载,然后再处理并移至下一页。
我希望能够启动脚本并放任其完成,这将在数据库表中设置一个标志。
我需要知道的是如何能够在脚本完成运行之前结束http请求。另外,php脚本是做到这一点的最佳方法吗?
当然可以使用PHP来完成,但是您不应将其作为后台任务-新进程必须与启动它的进程组分离。
从评论:
简短的版本shell_exec('echo /usr/bin/php -q longThing.php | at now');只是其中包含一些内容的原因。
shell_exec('echo /usr/bin/php -q longThing.php | at now');