Подождите, пока запустится витая служба, прежде чем запускать другую - PullRequest
2 голосов
/ 18 ноября 2010

Я написал прокси-сервер, который использует каркас приложения Twisted.По сути, он использует DHT для решения проблем.Клиенту DHT требуется несколько секунд для запуска, поэтому я хочу убедиться, что прокси-сервер принимает подключения только после того, как DHT будет готов.что Twisted будет ждать до запуска службы CosipProxy?Есть ли в витой механизм, который делает это для меня?Или мне нужно добавить обратный вызов к dht.ready, который создает остальную часть приложения?Спасибо

1 Ответ

2 голосов
/ 18 ноября 2010

Не звоните serv.setServiceParent(service.IService(application)) прямо сейчас. Вместо этого подождите, чтобы позвонить в ваш обратный вызов на dht.ready. Это приведет к его запуску, если служба приложения уже запущена.

Кроме того, не похоже, что dht само по себе является IService. Так должно быть; или, скорее, вещь, которая вызывает from_config, должна быть службой, поскольку очевидно, что from_config собирается запустить некоторые соединения (по крайней мере, так это выглядит, если dht.ready когда-либо будет срабатывать, в этом примере ). Ваш плагин или tac-файл должны создавать сервис, а не запускать сервис. Ничего не должно происходить, пока не будет вызван этот первый startService.

...