/** * 虚拟本地并行调用(纯本地) * 目的:尽可能的做到与远程调取无缝对接 * @param array $data 暂不考虑error_callback * @return array 返回不调取回调函数的值 */ public function callMulti($data = array()) { if (empty($data)) { return false; } $result = array(); foreach ($data as $k => $v) { $callback = isset($v['callback']) ? $v['callback'] : null; $parameters = array('service' => $v['service'], 'method' => $v['method'], 'args' => isset($v['args']) ? $v['args'] : array()); $tmpRes = $this->call($parameters); Monitor::pushMsg($v, $tmpRes); if (empty($callback)) { $result[$k + 1] = $tmpRes; } elseif (is_array($callback)) { call_user_func_array($callback, array($tmpRes, '')); } else { //抛异常 } } return $result; }