Django频道是否可以将发送/接收消息组合为一种方法?

问题描述

我的代码从通道层收到一些消息后,我需要处理一些复杂的逻辑:通过websocket向客户端发送请求,等待响应,发送另一个请求,再次等待,然后通过通道发送回响应。

现在,我发现的唯一方法是将所有逻辑拆分为一堆较小的方法,并使用锁来同步所有逻辑。它正在工作,但看起来很丑。

有可能写类似的东西吗?

async def complex_logic(self,data):
    with self.lock.acquire():
        await self.send_ws_request1(data)
        resp1 = await self.get_ws_response1()
        data2 = self.do_something_with_resp(resp1)
        await self.send_ws_request2(data)
        resp2 = await self.get_ws_response2()
    await self.send_resp_to_channels(resp2)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)