我有一个AWS函数,它使用python和lightFM来获得产品推荐。它的结构如下:
问题是,当它从LightFM类中调用“预测”方法时,它在AWS CloudWatch上使用以下错误退出进程,没有堆栈跟踪:
REPORT RequestId: 31be3ec0-b04a-11e8-9805-e5d84a21cf93 Duration: 180.45 ms Billed Duration: 200 ms Memory Size: 1024 MB Max Memory Used: 162 MB
RequestId: 31be3ec0-b04a-11e8-9805-e5d84a21cf93 Process exited before completing request更糟糕的是,Lambda函数有时工作得很完美。
可以通过异步方式连续地向Lambda函数发送大量请求(如果所有调用都是同步的,则没有错误),就可以强制错误一次。
在第一次出现错误后,它停止工作,直到我再次上传Lambda函数,并对Lambda函数的内存配置进行一些更改。
有没有人知道cython和泡菜是否有问题,或者类似的问题?任何帮助都是非常感谢的。提前谢谢你。
发布于 2018-09-05 18:00:08
这条线
在完成请求之前退出的进程
指示循环中没有由lambda引擎处理的事件。您的代码没有进行回调,或者在回调链中遗漏了回调。
在这种情况下,如果使用lightFM包并等待来自包的回调,则事件链中永远不会调用它,也不会处理任何东西。
修复这个问题的方法通常是使用“承诺”和“等待一定的时间”来处理超时,并调用context.done或回调来完成函数。
希望能帮上忙。
发布于 2018-09-06 15:11:01
我找不到在它真正结束之前结束了什么,但我找到了一个解决办法。我使用来自模型的用户和项表示创建了自己的“预测”方法。
https://stackoverflow.com/questions/52168279
复制相似问题