我有一个PHP脚本,它向一些用户发送消息,中间有6分钟的延迟。因此,如果有30个用户,则该脚本应运行3个小时,以完成向所有30个用户发送消息。我尝试Background Jobs with Workers in PHP,但脚本在30分钟后停止。有没有办法增加超时,还是有其他方法来实现这个目标?
答案 0 :(得分:1)
set_time_limit - 限制最长执行时间
答案 1 :(得分:0)
所以最后我做的是,我开始一个每5分钟调用一次这个脚本的cron作业。在脚本中,我检查一个文件是否包含任何消息,如果有,我会将其发送给用户,如果不忽略。
因此,当我设置要发送给用户的消息时,我会将消息和用户列表保存在不同的文件中。将消息发送给每个用户后,我将其从列表中删除。一旦用户列表变空,我也会从文件中删除该消息。通过这种方式,脚本将知道它将消息发送给所有用户。到目前为止,它运作良好。我正在使用cron-job.org
来创建cron作业。它在那里是免费的。