在 django 通道中引发异常时发送 websocket 消息

Send a websocket message when exceptions is raised in django channels

我正在使用 django-channels。当在消费者中引发异常时,它将记录错误,websocket 连接将断开,然后重新连接。

我想在断开连接之前发送一个 websocket 消息。我试图捕获错误,发送消息,然后重新引发异常。但是消息还是没有发送。

实现此目标的最佳方法是什么?

当您引发错误时,实际引发的错误似乎优先于发送稍后发生的消息。

所以我最后采用的解决方案是在适当的位置捕获异常,附加异常并检查发送消息后是否有任何异常要引发。

如果有错误要提出,请提出。这样就会在服务器端引发错误,并且任何错误也会在前端已知。

或者,这可能是更好的解决方案。捕获错误,然后记录异常。有一种特殊的方法可以将错误发送回前端,然后 return 尽早。

这样服务器永远不会断开,也不需要重新连接。这节省了一些时间和处理。