Надлежащий способ отменить принимает и закрытие соединения Слушателя обработки/многопроцессорной обработки Python

Используйте отступы: 15px; вместо padding-top, это стандартное заполнение в начальной загрузке или любом другом фреймворке, и если вам нужно большое поле ввода, используйте textarea, и увеличьте значение строки, если вы хотите увеличить высоту, или вы можете отрегулировать высоту с помощью css а также.

11
задан 9 revs, 2 users 100% 8 August 2013 в 09:57
поделиться

4 ответа

Не это, для чего выбор??

Только вызов принимает на сокете, если выбор указывает, что не заблокируется...

Выбор имеет тайм-аут, таким образом, можно вспыхнуть иногда иногда, чтобы проверить если его время для закрытий....

3
ответ дан 3 December 2019 в 11:04
поделиться

Я думал, что мог избежать его, но кажется, что я должен сделать что-то вроде этого:

from processing import connection
connection.Listener.fileno = lambda self: self._listener._socket.fileno()

import select

l = connection.Listener('/tmp/x', 'AF_UNIX')
r, w, e = select.select((l, ), (), ())
if l in r:
  print "Accepting..."
  c = l.accept()
  # ...

Я знаю, что это нарушает закон диметра и представляет некоторое злое исправление обезьяны, но кажется, что это было бы самым легким к порту способом выполнить это. Если бы у кого-либо есть более изящное решение, я был бы рад услышать его :)

3
ответ дан 3 December 2019 в 11:04
поделиться

Вероятно, не идеальный, но можно выпустить блок путем отправки сокету некоторых данных из обработчика сигналов или потока, который завершает процесс.

Править: Другой способ реализовать это мог бы состоять в том, чтобы использовать Очереди соединений, так как они, кажется, поддерживают тайм-ауты (извинения, я неправильно читал Ваш код в своем первом чтении).

0
ответ дан 3 December 2019 в 11:04
поделиться

Я плохо знаком с многопроцессорным модулем, но мне кажется, что смешивание модуля обработки и модуля поточной обработки парадоксально, не они предназначенный для решения той же проблемы?

Так или иначе, как насчет того, чтобы перенести Ваш слушать функции в сам процесс? Я не ясен, как это влияет на остальную часть Вашего кода, но это может быть более чистой альтернативой.

from multiprocessing import Process
from multiprocessing.connection import Listener


class ListenForConn(Process):

    def run(self):
        listener = Listener('/tmp/asdf', 'AF_UNIX')
        listener.accept()

        # do your other handling here


listen_process = ListenForConn()
listen_process.start()

print listen_process.is_alive()

listen_process.terminate()
listen_process.join()

print listen_process.is_alive()
print 'No more listen process.'
1
ответ дан 3 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: