gpt4 book ai didi

python - SIGPIPE 在 EBS Docker 应用程序中写入封闭管道错误

转载 作者:行者123 更新时间:2023-12-04 12:00:07 29 4
gpt4 key购买 nike

在 EBS 与本地运行 docker 容器时出现莫名其妙的错误。容器运行裸 uWSGI 进程,该进程加载运行长时间(超过 5 秒)请求的应用程序。 docker 容器在本地运行良好;当通过盒子上的 ssh 运行时,整个代码路径在 EBS 主机上运行良好(通过以编程方式向入口函数提交请求,模拟来自客户端的 POST 参数)。但是当通过 API 路由通过 http 调用代码路径时,它会出错:

Fri May  7 03:01:40 2021 - SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request /preview-map (ip 172.17.0.1) !!!
2021-05-07 03:01:40] log_exception 1761 - Exception on /preview-map [POST]
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
...
File "./scene.py", line 135, in scenePreview
quality=10) # quality=1 => no shadow/reflection, quality=10 is 'normal'
File "/usr/local/lib/python3.7/site-packages/vapory/vapory.py", line 102, in render
quality, antialiasing, remove_temp)
File "/usr/local/lib/python3.7/site-packages/vapory/io.py", line 114, in render_povstring
raise IOError("POVRay rendering failed with the following error: "+err)
TypeError: can only concatenate str (not "bytes") to str
我调试了几个小时,假设错误与堆栈跟踪有关:POVRay(由vapory 库在Python 中抽象出来的3D 场景渲染引擎),但我可以在EBS docker 容器上运行POVRay 函数没问题。
是否有可能我在 EBS 中的 uWSGI 进程在 3 秒后关闭了我的连接并且代码中的这个中断只是一个巧合?它是 docker,所以除了 EBS 为过早关闭连接所做的事情之外,我的本地和远程环境之间真的没有任何区别。
我难住了。知道如何进一步调试吗?

最佳答案

与此处相同的解决方案:Fixing broken pipe error in uWSGI with Python
增加 uWSGI 超时。

ENV UWSGI_CONNECT_TIMEOUT=2400 UWSGI_READ_TIMEOUT=2400 UWSGI_SEND_TIMEOUT=2400

关于python - SIGPIPE 在 EBS Docker 应用程序中写入封闭管道错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67428734/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com