简单的流程如下:
1, 添加队列信息
2, 队列信息储存在redis里面,我设置的是 10库为队列动作信息,9库为队列详细的信息
3, 服务端守护进程不断接收队列,再处理队列,目前代码的逻辑是,先循环接收10库的队列动作信息,再分段多进程处理9库的队列详细信息
代码调用范例:
1, 添加队列(比如添加发送邮件):
$q->add_queue('send_mail', $i, ‘hello world');
2, 服务端处理队列逻辑,先读取队列动作信息,再多进程处理,目前的版本是不能同时处理多个队列动作信息,只能多进程处理完一条队列动作信息里面的每条队列信息之后,再处理另外一条队列动作信息。(服务端的版本有单进程,多进程两个版本)
感谢Signfork.class类的作者,这里用了这个多进程的类
github地址: https://github.com/r00tjimmy/queue-php-redis