Cron 在 google 云 运行 中停止
Cron stopped in google cloud run
我在 Google Cloud 运行
中使用 crond + Alpine 创建了一个 cron
一切正常,但几分钟后,当容器没有收到任何通过 http 的请求时,cron 停止。
但是如果您在 cron 停止至少 30 分钟后没有重新加载网页。
知道哪里出了问题吗?
这是我的 dockerfile。
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"]
定时任务
*/15 * * * * cd /usr/src/app && python3 test.py >> cron.txt 2>&1
Cloud 运行 的设计没有任何问题。
当没有请求时,Cloud 运行 容器被挂起。这意味着您不能执行后台任务。 Cloud 运行 是一个 HTTP Request/Response 系统。当 Cloud 运行 returns HTTP 响应并且没有其他请求正在处理时,您的 CPU 已停止。
After startup, you should only expect to be able to do computation
within the scope of a request: a container instance does not have any
CPU allocated if it is not processing a request.
我在 Google Cloud 运行
中使用 crond + Alpine 创建了一个 cron一切正常,但几分钟后,当容器没有收到任何通过 http 的请求时,cron 停止。
但是如果您在 cron 停止至少 30 分钟后没有重新加载网页。
知道哪里出了问题吗?
这是我的 dockerfile。
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"]
定时任务
*/15 * * * * cd /usr/src/app && python3 test.py >> cron.txt 2>&1
Cloud 运行 的设计没有任何问题。
当没有请求时,Cloud 运行 容器被挂起。这意味着您不能执行后台任务。 Cloud 运行 是一个 HTTP Request/Response 系统。当 Cloud 运行 returns HTTP 响应并且没有其他请求正在处理时,您的 CPU 已停止。
After startup, you should only expect to be able to do computation within the scope of a request: a container instance does not have any CPU allocated if it is not processing a request.