阅读文档后: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
。
这可能吗?
阅读文档后: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
。
这可能吗?
Cron 服务未与云功能集成。它是应用引擎的一部分。
您不能直接从 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 的作业,如此处所述。这要简单得多。
这是可能的,并在此处详细描述。