从服务器异步发送请求到前端

2024-04-20 13:19:33 发布

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

我正在通过一个与大型聊天平台api(比如Slack)交互的web后端构建一个聊天机器人。这是当前工作流:

  • 用户通过Slack向我的bot发送消息
  • 我的webapp(Python Flask)从Slack的服务器接收一个HTTP请求,其中包含用户的标识符
  • 事件被添加到一个队列中,我的webapp只发送回一个200状态码
  • 生成一个worker来处理事件。worker最终向Slack发出API调用,其中包含用户ID和要显示的消息。你知道吗

这个系统运行良好。不过,现在我想拥有自己的聊天前端,与后端交互。如何使前端等待后端发送的通知并随后显示消息?我必须依赖websocket吗?有没有其他我没想到的方法?显然,似乎我需要一些东西来不断地维护客户机和服务器之间的连接,不像在进行不需要持续连接的API调用时那样?你知道吗

另一个问题是,我的API服务器和我的workers是独立的。也就是说,当API服务器接收到请求时,工作进程将独立生成。如果我设想使用websocket,我相信我的工作人员必须向API服务器发送一个请求,然后API服务器通过websocket将内容发送到客户机。我想知道这是正确的还是完全荒谬的。你知道吗


Tags: 用户服务器apiweb消息flask客户机bot