обнаружение сбоя связи при «постановке» в очередь - PullRequest
1 голос
/ 18 февраля 2010

Я использую multiprocessing модуль Python с Queue для связи между процессами. Некоторые процессы только отправляют (то есть queue.put), и я не могу найти способ обнаружить, когда принимающая сторона прерывается внезапно.

Есть ли способ определить, завершается ли процесс на другом конце очереди без необходимости get из очереди? Разве нет сигнала, который я мог бы как-то поймать? Или я должен периодически get из очереди и вручную ловить EOFError.

1 Ответ

0 голосов
/ 18 февраля 2010

Я не верю, multiprocessing настраивает процесс "сторожа", чтобы вы могли позаботиться о сбоях или убийствах некоторых из ваших процессов. Может быть, стоит потратить время на его настройку (довольно сложно сделать кроссплатформенный, но если, скажем, вы беспокоитесь только о Linux, это не так уж страшно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...