Example #1
0
 def start(self, profile=0):
     import sys
     import thread
     import pdconf
     #from rpcserver import rpc_server
     from pydirector import pdadmin
     from pdnetwork import mainloop
     if self.conf.admin is not None:
         pdadmin.start(adminconf=self.conf.admin, director=self)
     self.manager.start()
     server,port = pdconf.splitHostPort(self.conf.rpcserver)
     thread.start_new_thread (self.rpc_server, (server, port,))
     try:
         if profile:
             import hotshot
             print "creating profiling log"
             prof = hotshot.Profile("pydir.prof")
             try:
                 prof.runcall(mainloop)
             finally:
                 print "closing profile log"
                 prof.close()
         else:
             mainloop(timeout=4)
     except KeyboardInterrupt:
         sys.exit(0)
Example #2
0
 def createListeners(self):
     from pydirector import pdnetwork, pdconf
     for service in self.conf.getServices():
         self.createSchedulers(service)
         eg = service.getEnabledGroup()
         scheduler = self.getScheduler(service.name, eg.name)
         # handle multiple listeners for a service
         self.listeners[service.name] = []
         for lobj in service.listen:
             l = pdnetwork.Listener(service.name,
                                pdconf.splitHostPort(lobj),
                                scheduler)
             self.listeners[service.name].append(l)