Example #1
0
 /**
  * 发送消息
  * @return boolean
  */
 public function sendAction()
 {
     $messageModel = new MessageModel($this->userInfo['userId']);
     $result = $messageModel->save($this->requestParams);
     if ($messageModel->getErrCode()) {
         $this->putError($messageModel->getErrCode(), $messageModel->getErrInfo());
         return false;
     }
     $this->response($result);
     return false;
 }
Example #2
0
 /**
  * 消息存储
  */
 public function saveMessageAction()
 {
     echo date('Y-m-d H:i:s') . ' userMessage is started!' . PHP_EOL;
     $queueKey = Yaf\Application::app()->getConfig()->redisKeys->messageQueue;
     $redis = RedisFactory::instance('ims', true);
     while (true) {
         $total = 0;
         while ($message = $redis->lPop($queueKey)) {
             $messageModel = new MessageModel();
             if (!$messageModel->save($message)) {
                 if ($messageModel->getErrCode() == 2002) {
                     //数据库连接消失,消息重新入队,中断进程
                     $redis->lpush($queueKey, $message);
                     exit;
                 }
             }
             pushModel::newMessage($message);
             $total++;
         }
         try {
             // 闲置时检查Redis连接
             $redis->ping();
         } catch (\Exception $e) {
             $redis = RedisFactory::instance('ims', true, true);
             //重连
         }
         if ($total > 0) {
             echo date('Y-m-d H:i:s') . ' storage message ' . $total . PHP_EOL;
         }
         sleep(1);
     }
     exit;
 }
Example #3
0
 public function saveAction()
 {
     $message = array();
     $message['catId'] = 1;
     $message['sender'] = 10;
     $message['senderNickname'] = 'sender_10';
     $message['receiver'] = 12;
     $message['receiverNickname'] = 'receiver_12';
     $message['content'] = 'content_' . date('YmdHis');
     $messageModel = new MessageModel();
     $respones = array();
     $respones['result'] = $messageModel->save($message);
     $respones['errCode'] = $messageModel->getErrCode();
     $respones['errInfo'] = $messageModel->getErrInfo();
     $this->getResponse()->setBody(json_encode($respones));
 }
Example #4
0
 public function sendAction()
 {
     $params = $this->getRequest()->getParams();
     $toKen = $params['toKen'];
     $userModel = new UserModel();
     $userInfo = $userModel->getUserInfoByToken($toKen);
     $message = array();
     $message['catId'] = 1;
     $message['sender'] = $userInfo['userId'];
     $message['senderNickname'] = $userInfo['nickname'];
     $message['receiver'] = 12;
     $message['receiverNickname'] = 'receiver_12';
     $message['content'] = 'content_' . date('YmdHis');
     $messageModel = new MessageModel();
     $respones = array();
     $respones['result'] = $messageModel->save($message);
     $respones['errCode'] = $messageModel->getErrCode();
     $respones['errInfo'] = $messageModel->getErrInfo();
     $this->getResponse()->setBody(json_encode($respones));
 }