如果你想通过命令行在PHP中运行一个需要很长时间的任务,我会尝试在徽章中组织它并跟踪已经完成的事情.
现在,您可以完全处理每个徽章(例如:进程,然后将其存储在xml文件中),而不仅仅是在处理完整个列表之后.因此,两者之间的崩溃/停止只会取消一个徽章,而不是所有徽章.
如果您在每个徽章之后存储当前位置,则可以在脚本崩溃或停止时轻松恢复.
现在,如果您检查操作系统进程列表以查看您的脚本是否正在运行,那么您可以编写一个cron作业,如果崩溃并且尚未运行,则每隔X分钟启动一次脚本.
所以,TL; DR
>处理小徽章的工作
>上次成功处理徽章的商店位置
>在开始时检查已经运行的进程
>不断启动脚本,直到所有人都开心!
除此之外,我喜欢PHP用于小型命令行作业,但如果你有这么大的任务,那么其他东西可能更适合.检查可以长时间稳定运行的东西,并有办法显示它的进度.也许是一个带有简约gui的小型C#应用程序.