Витой реактор получить текущий статус

Извините за расплывчатое название, но я не мог придумать что-то лучше.

Есть ли способы получить текущий статус реактора в твите? Под статусом я подразумеваю:

  • Слушатели на портах
  • Подключенные протоколы
  • Отсроченные, ожидающие увольнения
  • LoopingCalls, которые выполняются
  • Потоки, которые «простаивают»
  • и прочая "активность"...

По сути, я пытаюсь выяснить, не простаивает ли реактор. Сам вопрос шире, чем то, что мне на самом деле нужно сделать, ради полноты для stackoverflow.

Моя текущая ситуация выглядит следующим образом:

Я использую чужой сценарий, который прослушивает множество «динамических» портов, выбранных сценарием этого человека, поэтому я не могу просто использовать свой сценарий, чтобы сделать что-то вроде listenTCP или TCP4ServerEndpoint и проверить его состояние. Это чем-то похоже на не -PASV FTP, где каждый прослушиваемый порт отбрасывается после каждого использования. Другая проблема заключается в том, что моя собственная небольшая программа также работает в том же процессе, который я использую в качестве аргумента для запуска его программы. По сути, это интерфейс к его программе. Когда все его дела будут сделаны И мои дела тоже будут сделаны, я хочу остановить реактор. Таким образом, я пытаюсь выяснить, когда я смогу остановить реактор. Мое точное условие выключения выглядит следующим образом:

  • Слушаю только на 1 порту и никак иначе.
  • Никаких отложенных или зацикленных вызовов, которые будут срабатывать.

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

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

6
задан Community 23 May 2017 в 11:50
поделиться