当前位置: 首页 > 知识库问答 >
问题:

在Lambda中使用child_process时AWS API网关立即超时

邵逸明
2023-03-14

我使用API网关调用了一个Lambda函数。当Lambda命中child_process对象上的spawn调用时,API网关立即失败,出现504超时错误。我在API网关上的超时设置是最大30秒,而Lambda设置为一分钟。lambda运行最多只需要1400ms,但它仍然在API中报告超时。在API网关获得504之后Lambda成功运行。

这发生在调用FFMPEG和调用Sharp库调整图像大小的过程中。无论我使用同步还是异步调用,都会发生这种情况。

function resizeVideo(next) {
    var ffmpegOutput = exec.spawnSync('ffmpeg', [
        '-i', tmpFilePath,
        '-f', 'image2',
        '-frames:v', '1',
        '-filter:v', 'scale=w=-1:h=' + MAX_HEIGHT + ":force_original_aspect_ratio=decrease",
        'pipe:1'
    ]);

    console.log(ffmpegOutput.stderr);

    next(null, JPG_CONTENT_TYPE, ffmpegOutput.stdout);
}

任何想法都将不胜感激。谢谢!

共有1个答案

步炯
2023-03-14

行动组的同事。我们得到了这个工作,我只是想张贴的情况下,它曾帮助别人与这个问题。我的理解是,发生这种情况的原因是超时错误地设置为一个较低的数字(180),误以为该数字是秒。我们在意识到应该以毫秒为单位指定值后更新了超时(最大值为29000),但没有意识到我们必须“部署”API才能使更改生效。重新部署API后,问题得到了解决。

 类似资料:
  • 我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您

  • 早上好,你能帮我们解决下一个问题吗:我有一个API网关+Java Lambda处理程序。这个Lambda使用httpconnection获取一些Internet REST API。 当我们使用这个Lambda而不使用VPC时,它工作得很好。但当我们使用配置了internet访问的VPC时--有时Lambda会出现超时错误而失败。它在20%的请求中失败(80%的请求工作正常),下一个错误发生在日志中

  • 我也没有在AWS文档中找到任何实质性的东西。

  • 问题内容: 这是我第一次真正接触JavaScript。当然,我曾经使用过它,但是我从未真正写过任何东西。 无论如何,我遇到了一个非常奇怪的问题,希望有人可以帮我解决。 我正在尝试使div的文本从黑变白。很简单,是吗? 以下代码 有效 。它将颜色更改为白色,但是,忽略了500ms的setTimeout时间。 如果您使用Chrome浏览器并查看JS控制台,您将很容易看到doFade()方法几乎是即时调

  • 网关的标准超时时间是30秒。但是在一些复杂的流中,需要比这个标准更长的时间。如何解决这个问题?Corda作为一个平台有没有提供任何解决方案?