首页 > 解决方案 > 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 中有时间限制?有什么想法吗?

更新:

这是我的日志: 在此处输入图像描述

标签: google-cloud-platformasync-awaitgoogle-cloud-functions

解决方案


根据官方文档:

JSON 的 HTTP 状态和错误代码

503—Service Unavailable是一个 backendError (内部错误),我们鼓励您使用truncated exponentioal backoff重试。


推荐阅读