RabbitMQ是什么?官方的说明如下:
更详细的介绍及安装信息可以在RabbitMQ官网上获取:
https://www.rabbitmq.com
https://www.php.net/amqp
function msg_queue(){
       $this->begin();
       //step1.实例会队列,该类会根据配置信息选择使用的是哪种队列系统。
       $queue = new base_queue();
       $member_obj = $this->app->model('members');
       $aMember = json_decode($_POST['arrMember']);
       unset($_POST['arrMember']);
       foreach($aMember as $key=>$val){
            $member_sdf = $member_obj->dump($val,'*',array(':account@pam'=>array('login_name')));
            $login_name = $member_sdf['pam_account']['login_name'];
	    //step2.构造消息,因为要和系统默认的mysql队列兼容,所以按mysq队列的格式传递
            $data = array(
            'queue_title'=>app::get('b2c')->_('发站内信'),
            'start_time'=>time(),
            'params'=>array(
            'member_id'=>$val,
            'data' =>$_POST,
            'name' => $login_name,
            ),
	    //step3.自定义的消费者(worker)
            'worker' => 'b2c_queue.send_msg',
        );
	//step4.发布消息
       if(!$queue->publish($data)){
            $this->end(false,app::get('b2c')->_('操作失败!'));
        }
       }
            $this->end(true,app::get('b2c')->_('操作成功!'));
    }