Google App Engine cron 作业未显示

Posted

技术标签:

【中文标题】Google App Engine cron 作业未显示【英文标题】:Google App Engine cron job not showing up 【发布时间】:2019-04-14 18:08:56 【问题描述】:

我创建了一个 Google Cloud 函数,用于获取数据并将其转储到 Google SQL 数据库中。我需要这个函数每 15 分钟执行一次。据我了解,您无法在 cron 作业中执行云功能。解决方法是在 App 引擎中部署一个应用程序。

我已经部署了一个简单的 NodeJS 应用程序,它使用 NodeJS https 模块发出一个 http 请求。我已将此应用与以下 cron.yaml 一起部署到 Google App Engine

cron:
- description: "Gets new data every 15 minutes"
  url: /
  schedule: every 15 mins

但这没有执行,也没有出现在 cron 作业列表中。上面的 cron 作业语法看起来正确吗?

我还需要做什么才能让 Google App Engine 接手这项 cron 任务吗?

提耶

【问题讨论】:

如果 cron 作业未显示在 cron 作业列表中,则表示它实际上并未部署。你是如何部署它的? 我将所有文件 index.js、package.json、app.yaml 和 cron.yaml 都放在同一个文件夹中。我正在使用 gcloud app deploy 从该目录内部署所有这些 【参考方案1】:

当我执行 gcloud app deploy 时,我误以为 cron.yaml 会被部署为 cron 作业

要部署 cron 作业,我必须显式部署 cron.yaml

gcloud app deploy cron.yaml

【讨论】:

是的,即使在早期(使用 GAE SDK)与应用程序的其余部分一起部署也并不总是有效,现在文档中甚至不再提及。 你不是唯一一个:) 这是一个非常重要的帖子,因为其他地方都没有提到此信息。谢谢! 文档上的这个nowhere怎么办?

以上是关于Google App Engine cron 作业未显示的主要内容,如果未能解决你的问题,请参考以下文章

如何取消或停止Google App Engine Cron作业

没有在Google App Engine中安排的Cron作业

Cron Job-具有Google App Engine的纯Django项目

Google Cloud App Engine Cron 服务中断

如何在App Engine中创建一个针对服务和版本的cron作业?

Google Cloud App Engine Cron服务中断