import os, sys import asyncio import argparse from appPublic.log import MyLogger, info, debug, warning from appPublic.folderUtils import ProgramPath from appPublic.jsonConfig import getConfig from appPublic.zmqapi import run_proxy from appPublic.registerfunction import RegisterFunction from bricks_for_python.init import load_pybricks from ahserver.webapp import webapp from ahserver.serverenv import ServerEnv from ahserver.configuredServer import add_cleanupctx from rbac.init import load_rbac from pricing.init import load_pricing from appbase.init import load_appbase from llmage.init import load_llmage from filemgr.init import load_filemgr from uapi.init import load_uapi from dapi.init import load_dapi from rag.init import load_rag from msp.init import load_msp from checklang.init import load_checklang from skillagent.init import load_skillagent from dagflow.init import load_dagflow from discount.init import load_discount from global_func import set_globalvariable from unipay.init import load_unipay from platformbiz.init import load_platformbiz from accounting.init import load_accounting from woa.init import load_woa from ext import * from rf import * __version__ = '0.0.1' async def run_zmq_proxy(app): task = asyncio.create_task(run_proxy()) app['zmq_proxy_task'] = task print('TTTTTTTTTTTTTTTTTT') task1 = asyncio.create_task(woa_msghande()) print('KKKKKKKKKKKKKKKKKK') yield task1.cancel() task.cancel() async def woa_msghande(): config = getConfig() while True: msgstr = await zmq_subscribe(config.woa_handler_id) msgdic = json.loads(msgstr) # 这里按照业务逻辑处理收到的msg debug(f'received wechat msgs={msgstr}') # 处理完成后 retmsg = { "msgtype": "text", # 要返回的消息类型 "content": "收到" # 每个类型的消息所需要的数据 } retstr = json.dumps(retmsg, ensure_ascii=False) debug(f'repy msg({retstr}) to wechat') await zmq_publish(msgdic['subscribe_id'], retstr) def init(): rf = RegisterFunction() set_globalvariable() load_pybricks() load_appbase() load_rbac() load_accounting() load_unipay() load_platformbiz() load_llmage() load_filemgr() load_uapi() load_dapi() load_msp() load_rag() load_pricing() load_checklang() load_skillagent() load_dagflow() load_discount() load_woa() add_cleanupctx(run_zmq_proxy) if __name__ == '__main__': webapp(init)