Мы сталкиваемся с проблемой, когда python уничтожается OS / k8s из-за нехватки памяти. Я вижу, что есть исключение MemoryError, но это никогда не выбрасывается.
Я вижу, что это довольно распространенная проблема с oomkiller
, и получить правильное исключение вместо убийства -9 в лицо кажется почти невозможным.
Какие хорошие шаблоны проектирования следует избегать это? Мы используем очередь заданий pub / sub.
- Запуск каждого задания в отдельном процессе - возможно, но не позволяет нам кэшировать дорогостоящие операции загрузки моделей.
- Отслеживание которых задания начались, но не закончились sh, и на модуле, который слишком часто сталкивался с сообщением, отметьте, что оно не удалось - просто очень неэффективно при перезапуске и т. д.