У меня есть функция AWS Lambda, использующая python и lightFM для получения рекомендаций по продукту. Он структурирован следующим образом:
- Загрузка модели lightFM с использованием маринада
- Получение параметров через AWS API Gateway
- Выполняет вывод по полученным параметрам
- Вернуть наиболее вероятные продукты этому конкретному пользователю
Проблема заключается в том, что при вызове метода «прогнозировать» из класса 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 и Pickle, или что-то подобное? Любая помощь приветствуется. Заранее спасибо.