Php 分批加工
我有时事通讯服务,用户可以每天收到新闻邮件 我用PHP从数据库(MYSQL)获取所有用户的电子邮件,然后用一个脚本为所有用户发送电子邮件Php 分批加工,php,mysql,sql,cron,newsletter,Php,Mysql,Sql,Cron,Newsletter,我有时事通讯服务,用户可以每天收到新闻邮件 我用PHP从数据库(MYSQL)获取所有用户的电子邮件,然后用一个脚本为所有用户发送电子邮件 $query = 'SELECT email FROM users'; 现在用户增加了,我在执行时间限制方面遇到了问题,托管提供商增加了时间限制,但这还不够 所以我想把这个过程分成几批,比如每10分钟发送100-200封电子邮件 $query = 'SELECT email FROM users LIMIT 100'; 通过将最后一个id保存在表中,下次我
$query = 'SELECT email FROM users';
现在用户增加了,我在执行时间限制方面遇到了问题,托管提供商增加了时间限制,但这还不够
所以我想把这个过程分成几批,比如每10分钟发送100-200封电子邮件
$query = 'SELECT email FROM users LIMIT 100';
通过将最后一个id保存在表中,下次我获取它并从下一个id开始
$lastId = "SELECT id FROM last_id"; //Id from previous time script was executed (100, 200 300, ..etc)
$query = "SELECT email FROM users WHERE id>$lastId LIMIT 100";
但在某个时刻,所有用户都会收到电子邮件,文件将被免费执行
那么,在所有用户收到电子邮件后,是否可以停止执行cron作业?我建议使用排队系统,例如:。立即将所有用户列表放入队列。然后,只要队列中有数据,就让消费者以重复的方式完成工作。您可以定义每分钟左右产生的消费者。如果队列中没有任何内容,它们将以最小的开销关闭。@MadhurBhaiya,我以前从未使用过这种服务,它是免费的还是高级的?在我的服务器上工作有什么要求吗?免费/开源。没有特殊要求。只要浏览一下我分享的链接,那里有足够的教程让你开始学习