如何解决使用nginx / uwsgi进行Docker-compose部署:kombu.exceptions.OperationalError:写入套接字时出现错误32断管
我已经用uwsgi / nginx在docker-compose中部署了flask后端,并且在调用一个API时会出现以下错误。该API下载一个视频文件,生成帧并处理。 API需要5到30秒。当我在没有docker的调试模式下运行相同的API时,它可以工作。在芹菜工作者中调用.delay
方法来执行该任务时,错误地出现了。
ds-framework | return self.apply_async(args,kwargs)
ds-framework | File "/usr/local/lib/python3.6/site-packages/celery/app/task.py",line 568,in apply_async
ds-framework | **options
ds-framework | File "/usr/local/lib/python3.6/site-packages/celery/app/base.py",line 771,in send_task
ds-framework | amqp.send_task_message(P,name,message,**options)
ds-framework | File "/usr/local/lib/python3.6/contextlib.py",line 99,in __exit__
ds-framework | self.gen.throw(type,value,traceback)
ds-framework | File "/usr/local/lib/python3.6/site-packages/kombu/connection.py",line 444,in _reraise_as_library_errors
ds-framework | sys.exc_info()[2])
ds-framework | File "/usr/local/lib/python3.6/site-packages/vine/five.py",line 194,in reraise
ds-framework | raise value.with_traceback(tb)
ds-framework | File "/usr/local/lib/python3.6/site-packages/kombu/connection.py",line 439,in _reraise_as_library_errors
ds-framework | yield
ds-framework | File "/usr/local/lib/python3.6/site-packages/celery/app/base.py",line 770,in send_task
ds-framework | self.backend.on_task_call(P,task_id)
ds-framework | File "/usr/local/lib/python3.6/site-packages/celery/backends/redis.py",line 301,in on_task_call
ds-framework | self.result_consumer.consume_from(task_id)
ds-framework | File "/usr/local/lib/python3.6/site-packages/celery/backends/redis.py",line 136,in consume_from
ds-framework | self._consume_from(task_id)
ds-framework | File "/usr/local/lib/python3.6/site-packages/celery/backends/redis.py",line 142,in _consume_from
ds-framework | self._pubsub.subscribe(key)
ds-framework | File "/usr/local/lib/python3.6/site-packages/redis/client.py",line 3528,in subscribe
ds-framework | ret_val = self.execute_command('SUBSCRIBE',*iterkeys(new_channels))
ds-framework | File "/usr/local/lib/python3.6/site-packages/redis/client.py",line 3423,in execute_command
ds-framework | self._execute(connection,connection.send_command,*args,**kwargs)
ds-framework | File "/usr/local/lib/python3.6/site-packages/redis/client.py",line 3427,in _execute
ds-framework | return command(*args,**kwargs)
ds-framework | File "/usr/local/lib/python3.6/site-packages/redis/connection.py",line 721,in send_command
ds-framework | check_health=kwargs.get('check_health',True))
ds-framework | File "/usr/local/lib/python3.6/site-packages/redis/connection.py",line 713,in send_packed_command
ds-framework | (errno,errmsg))
ds-framework | kombu.exceptions.OperationalError: Error 32 while writing to socket. Broken pipe.
对此error进行了尝试,没有运气。有谁可以帮我离开这里吗?预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。