Найти - Пользователи
Полная версия: twisted завершение приложения с кодом отличным от нуля
Начало » Network » twisted завершение приложения с кодом отличным от нуля
1
Юрчек
Есть некий сервис, код которого переодически обновляется. Хочется сделать так, чтобы он подтягивал свои обновления и сам перезапускался. Для этого я написал простенький скрипт на баше, который следит что сервис запущен и если он завершился с кодом отличным от нуля, а это значит скан обновленный скрипт, перезапускает его.
Но никак не получается завершить программу запущенную через twistd, если использовать sys.exit(1), код завершения все равно 0.
примерчик, запускается через twistd -ny code.py
import sys
from twisted.internet import reactor, defer
from twisted.application import service
from twisted.python import log
def stop():
    log.msg('stop')
    reactor.stop()
    sys.exit(1)
    
class exitService(service.Service):
    def startService(self):
        log.msg('start')
        reactor.callLater(1, stop)
application = service.Application('app')
ex = exitService()
ex.setServiceParent(application)

Может стоит смотреть в сторону функций os.exec для реализации перезапуска программы?

slav0nic
http://twistedmatrix.com/trac/ticket/2182
и так далее В)
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