def wait(): __pub = db_session.pubsub() __pub.subscribe("account:security:code") expire = now() + 1200 * 1000 while now() < expire: gevent.sleep(1) for data in message_from_topic(__pub, is_json=True, limit=1): return data raise Fail("超时")
if not path.startswith("/"): path = "/" + path return "http://%s%s" % (__HOST, path) def _cache(url: str, data: Dict): return db_session.get("http:cache:%s:%s" % (url, to_form_url(data))) def _set_cache(url: str, data: Dict, content: str, expire: int): db_session.set("http:cache:%s:%s" % (url, to_form_url(data)), content, ex=expire // 1000) __pub = db_session.pubsub() __pub.subscribe("account:security:code") def publish_security_code(account: str, code: str, ts: int): db_session.publish( "account:security:code", json_str({ "account": account, "code": code, "ts": ts, })) def get_capability(cate: str): if cate == "GAME_CENTER":