部署好了,有一个专门的数据库,然后用cron来每10分钟执行一次。
crontab是这样写的:
*/10 * * * * /usr/bin/php /path/to/queue/script > /dev/null 2>&1

终于把worker部分写完了,当然了,应该再做一些处理,比如即便有很多人留言,我也可以只请求一次Server酱或者发送一次邮件,毕竟这个小脚本每5分钟运行一次。也要加一个done_at的列,好知道什么时候已经处理过了这个job

好,这里有一个重要话题:耗时。

-- 阅读剩余部分 --

使用消息队列的原因有很多,比如:

  • 耗时任务,最典型的就是发邮件和发送http请求
  • 高并发,要排队,比如写入数据库操作,比如电商里的抢购或者秒杀

消息队列,可大可小。最小的,就是写个函数,然后用cron定时执行,用mysql做介质。再大一点,就是用一些成熟的开源库,比如RabbitMQ等,分为clientserverworker。再大,就是自己写一个适合自己的队......

-- 阅读剩余部分 --