我可以使用异步websocket客户机函数中的Django模型写入数据库吗?

2024-03-29 10:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

对于一个连续的高容量数据流,另一方已经为我(并且只有我)设置了一个websocket端点来连接。我有我目前在Django的模型,所以我想从那里连接。我发现了两个Python websocket客户端库:

第一个(websocket-client)声明所有函数都是同步的。因为端点将有一个连续的(相当大的容量)流,并且我需要将结果写入(postgres)数据库,所以我想说我需要一种异步的方法来完成这项工作。第二个名为websockets的库采用异步方式接收内容,但我不确定是否可以使用异步函数写入DB。我认为这可能是一个问题的原因是因为在Django Channels项目中this page有一个注释说:

any asynchronous consumer must be careful to avoid directly performing blocking operations, such as accessing a Django model.

所以我的问题是:

  1. 我可以使用这些异步模型写入数据库吗
  2. 如果是的话,我应该注意什么
  3. 有没有人对如何通过websockets处理大容量数据流有更多的建议

Tags: django函数https模型githubcomclient数据库