1

阅读文档后:https ://cloud.google.com/appengine/docs/standard/nodejs/scheduling-jobs-with-cron-yaml

好像cron jobs只支持HTTP云功能。

我想每小时使用GAE cron jobs并触发我的后台云功能。google pubsub像:

GAE corn jobs=> Cloud pub/sub=> 背景cloud function

这可能吗?

4

3 回答 3

0

Cron 服务未与云功能集成。它是应用引擎的一部分。

于 2018-10-29T03:46:58.943 回答
0

您不能直接从 Cron 作业中调用 Cloud Functions,因为它是App Engine 服务,但您可以从 Cron 作业中调用 App Engine 处理程序,并使用您想要使用的任何信息使该处理程序调用您的 Cloud Functions发布/订阅。

这里有一个例子,基本上就是我说的。您可以将其替换为在 App Engine 中使用 Node.js 而不是 Python:

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  const request = require('request');

  request('YOUR_FUNCTION_URL', { json: false }, (err, res, body) => {
    if (err) {
      return console.log(err);
    }
    res
      .status(200)
      .send('Trigger called')
      .end();
  });
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});

编辑

Cloud Scheduler是一项新服务(截至目前处于测试阶段),它可以创建针对 App Engine、Pub/Sub 或 URL 的 cron 作业。在您的情况下,您可以设置一项访问函数 URL 的作业,如此处所述这要简单得多。

于 2018-10-29T10:01:46.150 回答
0

这是可能的,并在此处详细描述。

于 2018-10-29T10:05:38.587 回答