google-cloud-platform - Google Cloud Function 与“503 Service Unavailable”消息一起使用
问题描述
我有一个触发 cron-job 的 GC 函数。几乎一切都运行良好,除了我在日志“服务不可用”中出现错误,即使它工作(运行 API 调用)。这是我的代码:
exports.helloPubSub = (event, context) => {
const message = event.data
? Buffer.from(event.data, 'base64').toString()
: 'Function';
console.log("message:", message);
const url = `example.com`
const targetAudience = '12345';
const {GoogleAuth} = require('google-auth-library');
const auth = new GoogleAuth();
async function request() {
const client = await auth.getIdTokenClient(targetAudience);
const res = await client.request({
'url': url,
'method': 'post',
'data': {
'token': 'myToken'
}});
console.info(res.data);
}
request().catch(err => {
console.error(err.message);
process.exitCode = 1;
});
};
功能启动 5 分钟后出现错误“服务不可用”。该功能每 10 分钟执行 7 分钟,因此下次启动之间存在时间间隔。
问题是,它是与功能有关还是在 GC 中有时间限制?有什么想法吗?
更新:
解决方案
根据官方文档:
503—Service Unavailable
是一个 backendError (内部错误),我们鼓励您使用truncated exponentioal backoff重试。
推荐阅读
- reporting-services - SSRS 空白问题
- loopback - Loopback:远程方法 - 多次更新
- styles - 如何更改 Appwidget 文本的重力和样式
- javascript - React 样式组件中的“this”关键字有问题吗?
- kotlin - 如何在 kotlin 中使用 File.walk
- python - 消除 OpenCV EM 检测到的误报
- javascript - scrollTop() 在移动浏览器上不起作用
- java - Selenium WebDriver:如何在跨度下拉列表中选择一个值?
- java - java.lang.NoSuchMethodError 使用 FirebaseOptions.Builder 将 java 连接到 firebase
- javascript - 组件的多个实例,试图删除 onclick - 但总是最后一个被删除