[Twisted-Python] Creating a daemon from my application

gary clark burslem2001 at yahoo.com
Mon Mar 15 13:19:16 EDT 2010


Hello,

I compacted the server code initialization into the ServerContextFactory:


from nfdmessenger import ServerContextFactory
from twisted.internet import ssl, reactor


if __name__ == '__main__':
    serverContext =  ServerContextFactory()
    reactor.listenSSL(2000, serverContext, serverContext)
    reactor.run()


Running the below:

python nfddaemon.py

Looks goods and runs as expected:


I then moved the code into a tac file:

from twisted.application import service,internet
from nfdmessenger import ServerContextFactory
from twisted.internet import ssl, reactor


def get_service():
    serverContext =  ServerContextFactory()
    return reactor.listenSSL(2000, serverContext, serverContext)

application=service.Application('nfdm')
service=get_service()
service.setServiceParent(application)


When I attempt to run:

>twistd -r epoll -y nfddaemon.tac

File "nfddaemon.tac", line 2, in <module>
    from nfdmessenger import ServerContextFactory
exceptions.ImportError: No module named nfdmessenger

It looks like it cannot find the module? Do I have to set the path?
Also not too sure about my getService routine...well suspect.

Thanks,
Garyc

--- On Mon, 3/15/10, gary clark <burslem2001 at yahoo.com> wrote:

> From: gary clark <burslem2001 at yahoo.com>
> Subject: Re: [Twisted-Python] Creating a daemon from my application
> To: "Twisted general discussion" <twisted-python at twistedmatrix.com>
> Date: Monday, March 15, 2010, 11:14 AM
> Thanks Reza I wil give it a crack.
> 
> Much appreciated,
> Garyc
> 
> 
> --- On Mon, 3/15/10, Reza Lotun <rlotun at gmail.com>
> wrote:
> 
> > From: Reza Lotun <rlotun at gmail.com>
> > Subject: Re: [Twisted-Python] Creating a daemon from
> my application
> > To: "Twisted general discussion" <twisted-python at twistedmatrix.com>
> > Date: Monday, March 15, 2010, 10:35 AM
> > Hi,
> > 
> > > I want to create a twisted daemon from my
> application:
> > ...
> > 
> > You want to use twistd. See
> > http://twistedmatrix.com/documents/current/core/howto/basics.html#auto1
> > 
> > The process is roughly:
> > 
> > 1) create a myapp.tac file which essentially loads in
> your
> > server and
> > wraps it in an application
> > 2) run something like:
> >        $ twistd -r epoll -y
> > myapp.tac
> > which will daemonize your server (using the epoll
> reactor)
> > and write
> > its pid to twistd.pid
> > 
> > A .tac file could look something like:
> > 
> > from twisted.application import service, internet
> > from myapp import MyAppServer
> > 
> > def get_service():
> >     """ Return a service suitable for creating an
> > application object. """
> >     site = MyAppServer()
> >     port = 2000
> >     return internet.TCPServer(2000, site)
> > 
> > application =
> service.Application('MyApplicationName')
> > # attach the service to its parent application
> > service = get_service()
> > service.setServiceParent(application)
> > 
> > Also, keep in mind you might want to use twistd in
> > conjunction with a
> > process runner (http://dustin.github.com/2010/02/28/running-processes.html).
> > That is, if you're using something like Ubuntu, you
> > probably want to
> > run twistd using upstart.
> > 
> > Hope this helps.
> > 
> > Reza
> > 
> > -- 
> > Reza Lotun
> > mobile: +44 (0)7521 310 763
> > email:  rlotun at gmail.com
> > work:   reza at tweetdeck.com
> > twitter: @rlotun
> > 
> > _______________________________________________
> > Twisted-Python mailing list
> > Twisted-Python at twistedmatrix.com
> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> > 
> 
> 
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> 




More information about the Twisted-Python mailing list