首页 > 解决方案 > Python CRON 谷歌灵活应用引擎不工作

问题描述

我有以下内容cron.yaml

cron:
- description: "TEST_TEST_TEST"
- url: /cronBatchClean
- schedule: every 2 minutes

然后在app.yaml

service: environ-flexible
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

以此为main.py

from flask import Flask, request
import sys

app = Flask(__name__)

@app.route('/cronBatchClean')
def cronBatchClean():
   print("CRON_CHECK", file=sys.stderr)
   return "CRON_CHECK"

当我输入完整的 URL 时,我在屏幕上收到“CRON_CHECK”,但这似乎没有执行。同样在 App Engine 仪表板中,当我单击 CRON 作业时,没有列出任何作业。

任何帮助执行此操作将不胜感激,

谢谢 :)

编辑 1

我现在执行 cron 任务,但收到404错误消息。当我输入完整的 URL(即 https://.appspot.com/cronBatchClean)时,相应的代码就会执行。

我添加了一个GET处理程序,但我仍然没有收到任何运气。

@app.route('/cronBatchClean', methods=['GET'])
def cronBatchClean():

   print("CRON_JOB_PRINT", file=sys.stderr)

   return "CRON_CHECK"

标签: python-3.xgoogle-app-enginegoogle-cloud-platformcronapp-engine-flexible

解决方案


其中cron.yaml有不必要的“-”字符,它们正在启动新列表。YAML 语法

Cron Jobs 的正确格式cron.yaml请参阅 Google Cloud 文档

cron: 
- description: "TEST_TEST_TEST" 
  url: /cronBatchClean 
  schedule: every 2 minutes

要部署 Cron 作业,请使用gcloud 命令

$ gcloud app deploy cron.yaml


推荐阅读