Настроить базовый витой реактор

Я новичок в использовании Twisted. Я настроил протокол в .py, и он отлично работает. Дело в том, что в настоящее время для тестирования мне нужно подключиться к моему серверу по ssh и запустить его. Я хотел бы, чтобы он работал как служба / сервер, чтобы он всегда обслуживал мой протокол. Я читал на скрученном сайте что-то о файлах .tac, но я не уверен, как связать это с файлом протокола, который я написал.

Все, что у меня есть, - это простое приложение для iPhone на основе сокетов, которое отправляет сообщения в реактор и принимает сообщения обратно.

Я бы хотел, чтобы это запускалось при загрузке сервера. Очень похоже на работу сервера apache.

Спасибо за вашу помощь.


person utahwithak    schedule 20.12.2011    source источник
comment
Ваш вопрос неопределенно подразумевает, что вы пытаетесь, чтобы ваше серверное приложение всегда работало. Однако неясно, почему вы не можете просто запустить свое серверное приложение, когда ваш серверный хост загружается, чтобы достичь этого. Просьба уточнить.   -  person Jean-Paul Calderone    schedule 20.12.2011
comment
проверьте, отвечает ли это на ваш вопрос stackoverflow.com/questions/1603109/   -  person llazzaro    schedule 20.12.2011
comment
@llazzaro Это похоже, но не совсем то же самое. Мне нужно, чтобы скрипт постоянно работал в фоновом режиме, как веб-сервер, а не время ожидания между запусками. Я хочу его деамонизировать, и я знаю, что есть способ, которым twisted делает это внутренне. Я надеюсь, что кто-то знает, как это сделать.   -  person utahwithak    schedule 20.12.2011
comment
@cwieland проверьте, что кто-то ответил, как демонизировать скрипт Python. jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python оттуда. если найдешь извилистый путь, будет здорово!   -  person llazzaro    schedule 20.12.2011


Ответы (1)


Демонизация в twisted осуществляется с помощью команды оболочки twistd. Я нашел этот учебник весьма полезным: Использование Twisted Application Framework

person thatwasbrilliant    schedule 20.12.2011
comment
Большой! это было именно то, что я искал. Это запустит его при перезагрузке, или мне нужно его перезапустить? - person utahwithak; 20.12.2011
comment
Думаю, для этого придется создать сценарий запуска. - person thatwasbrilliant; 21.12.2011