【问题标题】:Google App Engine Cron Job target does not use correct urlGoogle App Engine Cron Job 目标未使用正确的 url
【发布时间】:2021-03-28 11:50:31
【问题描述】:

我在获取 cron 作业以正确定位 Python 应用程序的 Google App Engine 标准上的特定服务时遇到问题。 我可以使用 app.yaml 文件和 cron.yaml 文件成功地为 Google App Engine(标准)上的 python 应用程序创建一个 cron 作业。该服务未定义,是默认服务。 cron.yaml 没有指定目标。 如果我将 app.yaml 文件中的服务名称设置为 service1, 应用的 URL 从 projectID.ew.r.appspot.com 更改为 service1-dot-projectID.ew.r.appspot.com。

接下来,我将 cron 作业中的目标指定为 service1,并重新部署 app.yaml 和 cron.yaml。 现在,cron 作业每次运行都会失败,状态为 400。 从我在 ProtoPayLoad 日志中可以看到,主机没有使用正确的 URL。

根据日志中的 protoPayLoad“host”值,cron 作业使用 URL service1.projectID.ew.r.appspot.com。 cron 作业返回状态 400。 为什么 cron 作业不使用 service1-dot-projectID.ew.r.appspot.com URL? 我该怎么做才能让 cron 作业正确地针对特定服务?

#app.yaml with working cron job
#project URL: projectID.ew.r.appspot.com
runtime: python38

handlers:
- url: /static
  static_dir: static/

- url: /.*
  script: auto
#cron.yaml with working cron job
cron:
  - description: "working cron job"
    url: /myjob/
    schedule: every 2 minutes

这是损坏的 cron 作业的文件版本

#app.yaml with broken cron job
#project URL: service1-dot-projectID.ew.r.appspot.com
service: service1
runtime: python38

handlers:
- url: /static
  static_dir: static/

- url: /.*
  script: auto
#cron.yaml with working cron job
cron:
  - description: "working cron job"
    url: /myjob/
    schedule: every 2 minutes
    target: service1

应用引擎日志文件中的错误包含 protoPayLoad 详细信息。

host:"service1.projectID.ew.r.appspot.com"

我觉得应该是下面这个

host:"service1-dot-projectID.ew.r.appspot.com"

我的项目部署了多个服务,这些服务将使用特定于每个服务的 cron 作业。 我不能只使用默认服务名称。 感谢所有帮助。

【问题讨论】:

    标签: python-3.x google-app-engine service cron yaml


    【解决方案1】:

    只有在发布问题后才能找到答案。 这个项目是一个 Django 项目。 django 设置文件有一个在 ALLOWED_HOSTS 变量中定义的 URL 列表。 service1-dot-projectID.ew.r.appspot.com 已定义,但 service1.projectID.ew.r.appspot.com 未定义。

    添加后,cron 作业完美运行,正常以服务为目标。

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 2017-04-23
      • 2015-07-05
      • 2011-02-15
      • 2019-04-14
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多