Python CRON Google не работает движок приложений - PullRequest
0 голосов
/ 12 марта 2019

У меня есть следующее 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"

1 Ответ

2 голосов
/ 12 марта 2019

В 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...