我正在用quart制作一个api,它基于python中的aiohttp及其异步库 当我在本地运行api时,一切都正常运行,但如果我在docker上运行它,则会在端点上出现错误
api_1 | File "asyncpg/protocol/protocol.pyx", line 301, in query
api_1 | File "asyncpg/protocol/protocol.pyx", line 664, in asyncpg.protocol.protocol.BaseProtocol._check_state
api_1 | asyncpg.exceptions._base.InterfaceError: cannot perform operation: another operation is in progress
这是在一个端点上,该端点在本地工作良好
Dockerfile
FROM python:3.8-slim
# left to be done after project structure
WORKDIR /app
ADD . /app
RUN pip install pipenv
RUN pipenv install --system --deploy
CMD python launch.py initdb
CMD sh /app/runfile.sh
runfile.sh
hypercorn launch:app -b 0.0.0.0:5000
应用建议的更改后的Dockerfile
FROM python:3.8-alpine
# left to be done after project structure
WORKDIR /app
ADD . /app
RUN apk add gcc python3-dev musl-dev
RUN pip install pipenv
RUN pipenv install --system --deploy
CMD python launch.py initdb
CMD sh /app/runfile.sh
我找到了a solution。问题是池中缺少连接。因此,等待与上面提到的使用
acquire()
类似的连接相关问题 更多 >
编程相关推荐