在docker asyncpg.exceptions中运行api时出现异步python错误。\u base.InterfaceError

2024-04-23 07:44:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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

Tags: installrunincmdapiapppipenvsh