Ati*_*din 19 php timeout execution
基本上我可能想要执行一个可能需要1个小时的脚本.
我真正想要做的是使用第三方API向我的用户发送短信.所以它基本上就像我为我的脚本提供一系列电话号码并触发发送短信的方法.
假设发送1条短信需要5秒钟,我想发送大约1到2小时的1000条短信.我无法使用,set_time_limit()因为我在共享主机上.
一种方法是在会话中存储号码并执行每个SMS并使用javascript刷新该页面直到结束.这样我需要保持浏览器打开,如果我的Internet连接断开连接,执行将停止.
那么,还有更好的方法吗?
希望我清楚地解释我想要什么?我想执行一个大脚本,可能需要几个小时才能执行而不会超时.
Bil*_*win 21
从命令行或shell脚本,cron作业等执行的PHP脚本没有超时.
对于CLI调用的脚本,即使您使用该set_time_limit()函数动态设置PHP脚本的超时,它也不起作用.
如果您的主机允许您,cron作业是最佳解决方案.一个cron作业基本上是一个普通的PHP脚本,它由Web服务器以特定的时间间隔自动运行.根据您的需要,我会创建一个每5分钟运行一次的脚本,并以100个批量处理您的数字(显然,您需要调整时间间隔和批量大小以适应).这将使您的服务器负载下降,并防止您与托管服务提供商遇到麻烦,以占用资源.
为了跟踪脚本应该处理的批处理,我将设置一个track_batch表.这些列应该为您提供如何解决问题的良好指示:
id,date_run,start_record,end_record,final_run
实质上:
获得脚本后,您需要自己设置cron作业.共享主机可能有自己的自定义界面来执行此操作,因此一旦您的脚本正常工作,它们可能是最好的人.