Найти - Пользователи
Полная версия: работа с очередью Queue
Начало » Python для новичков » работа с очередью Queue
1
raph4ik
Задача в следующем. Нужно получать данные по сети, подключений м.б. одновременно некоторое количество(не важно).
Никаких особых наворотов, сделал по образу и подобию из этой статьи
http://keysolutions.ru/articles/osnovy-raboty-s-potokami-v-python с использованием очереди (Пулы потоков (pooling threads))
Все прекрасно работает, но до тех пор, пока не пришла идея грамотно выключать сервер.

Вопрос в следующем:
Как грамотно выйти из этого цикла
[code python]
while True:
clientPool.put(server.accept())
[/code]
При запуске у меня курсор висит на этой строке clientPool.put(server.accept()) и на следующую строку не переходит.
Вполне возможно, нужно искать другие способы реализации данного цикла, но пока я не могу понять в каку сторону капнуть

P.S.: я пока только изучаю Python, поэтому м.б. чего-то просто не знаю или недочитал

Заранее спасибо
o7412369815963
1) Можно самому подключится к серверу, что-б разблокировать его
2) Прервать сигналами: http://docs.python.org/2/library/signal.html#example
3) Использовать неблокирующие сокеты

Есть ещё несколько извращенских способов, но эти получше.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB