【发布时间】:2017-10-05 07:11:23
【问题描述】:
我有一个 AWS Lambda 函数,它在 Algorithmia 上调用一个深度学习函数,对结果进行一些后处理,然后返回一些数据。 Algorithmia 提供了一个 python client,我正在使用它,它只是让向 Algorithmia 平台上的算法发送请求变得更容易一些。
问题如下:当一个 Algorithmia 函数有一段时间没有被调用时,它被卸载并且第一次调用来预热它(冷启动)需要一段时间,可能是 30 秒。如果我的 Lambda 函数要等待 30 秒以等待响应,而每当它碰巧从冷启动触发 Algorithmia 函数时,这将是非常昂贵和浪费的。
是否有某种方法可以在 Lambda 中发送 HTTP 请求,并且当请求完成时,结果会通过管道传输到新的 Lambda 函数中,从而不需要 Lambda 函数一直等待并浪费资源?我不希望这样,因为我不确定这实际上是如何工作的 - 关于如何避免等待一段时间等待响应并浪费 Lambda 资源,是否有人有其他想法?
编辑:在大多数情况下(很明显,Algorithmia 算法从冷启动加载需要一段时间的情况除外)延迟是一个问题,我无法通过采取一些解决方法来增加延迟使用 Algorithmia 函数编写它对 S3 的响应(例如)然后触发 Lambda 函数的方法。
【问题讨论】:
-
这是在什么环境下运行的?桌面?网络服务器? Linux?视窗?等
-
对不起,我不确定你的意思。如果您需要,Algorithmia 是托管的云 ML 服务。
-
我认为除了使用具有与您的 lambda 必须相同的触发器的 VM(工作机器)来操作算法然后 VM 处理结果或传递到触发 lambda 的队列之外没有其他方法用于后处理。
-
呃,我没用过 Algorithmia,你不能触发一个事件来启动函数,一旦它完成了吗?
-
旧线程,但我支持@johni 的方法。我有一个类似的问题(冷启动约 1 分钟,需要
标签: python amazon-web-services lambda aws-lambda algorithmia