CV-модель многопроцессорного демона Python умирает
Я пытаюсь написать такое приложение. Где мне нужны три демонических процесса: видеозапись, логика CV-модели, отправитель данных REST и постобработка.В модели используется PyTorch, поэтому ее необходимо запускать в основном процессе. Таким образом, процесс модели (который в основном процессе, а не в дочернем) неожиданно умирает или зависает после обработки 2-4 видео (1 минута). У процессов есть своя очередь для отправки данных из текущего в следующий процесс. Кто-нибудь может объяснить мне, как решить эту проблему, или, может быть, подскажет лучший способ организовать архитектуру скрипта.
Все процессы бесконечны.
Кроме того, я пытался перехватить используемое исключение except
и перехватить завершение процесса с помощью process.join()
мне ничего не помогло. Поэтому я не могу получить код выхода. И я уже проверял заполненность Queue
, ниодна не заполнена. Еще одно странное наблюдение. Как я понял, если ModelProcess в основном процессе умирает, значит, все дочерние процессы тоже должны завершится, но в данном случае они все еще работают. В результате получается, что Q1 заполнится, если я добавлю новое видео в VideoReader
PS Если вы спросите, я добавлю некоторую запрошенную информацию. Я хотел бы показать вам код, но он слишком большой.
Это схема моего решения