实现了一个自定义的 Rasa Socket.IO channel, 但是发现在生产环境始终无法建立 websocket 链接,返回 400 错误。而在开发环境却一切正常。
在 Rasa 官网论坛找到了一个类似的问题:
https://forum.rasa.com/t/urgent-connetions-problems-with-socketio-channel-and-sanic-workers-1/59139/1
大致意思是 SANIC_WORKERS 大于 1 时,总是返回 400 错误。
在生产环境将 SANIC_WORKERS 修改为 1 之后,发现确实可以正常建立连接了。
这就非常坑了,相当于只能使用一个 CPU。
回头看看是否能解决这个问题。
此外,之前配置 flask Socket.IO 用 gunicorn 做生产环境部署时,也是只能用一个 work。 Python 只能使用单核的问题,确实恶心。
查看合集
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式