Cron停止了谷歌云运行



我在Google Cloud Run 中创建了一个带有crond+Alpine的cron

所有工作都可以,但几分钟后,当容器没有通过http接收到任何请求时,cron就会停止。

但是,如果您在至少30分钟后不重新加载网页,cron就会停止。

知道怎么了吗?

这是我的码头文件。

FROM python:3.8-alpine
RUN apk --no-cache add musl-dev linux-headers g++
RUN apk add --no-cache build-base dcron tzdata
RUN apk add --no-cache libffi-dev
COPY cronjobs /var/spool/cron/crontabs/root
WORKDIR /usr/src/app
COPY requirements.txt ./
ENV TZ="America/Montevideo"
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENV PORT 8080
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN chmod a+x startup.sh
CMD ["./startup.sh"]

cronjob

*/15 * * * * cd /usr/src/app && python3 test.py >> cron.txt 2>&1

云运行的设计没有错。

当没有请求时,Cloud Run容器将挂起。这意味着您不能执行后台任务。Cloud Run是一个HTTP请求/响应系统。当Cloud Run返回HTTP响应并且没有其他请求正在处理时,您的CPU将停止。

启动后,您应该只期望能够进行计算在请求的范围内:容器实例没有如果未处理请求,则分配CPU。

容器运行时合同

最新更新