public static function call($kid, $queueName, $info, $mod = '', $action = 'run') { $queue = new CloudTaskQueue($queueName); $logtime = time(); $params = base64_encode(json_encode($info)); $key = Func::madeQueueKey($kid, $logtime, $params); $queue->addTask(QUEUE_URL, "mod={$mod}&action={$action}&kid={$kid}&logtime={$logtime}¶ms=" . urlencode($params) . "&key={$key}"); $ret = $queue->push(); return true; }
/** * @descrpition 检测队列权限 * @return array|bool */ public static function checkQueueAuth() { $key = urldecode(Request::getRequest('key', 'str')); $kid = Request::getRequest('kid', 'str'); $logtime = Request::getRequest('logtime', 'str'); $params = urldecode(Request::getRequest('params', 'str')); if (empty($kid) || empty($key) || $key != Func::madeQueueKey($kid, $logtime, $params)) { return false; } $params = json_decode(base64_decode($params), true); return array('kid' => $kid, 'params' => $params); }