Example #1
0
class Daemon(object):
    def __init__(self, daemon_id):
        self._daemon_id = daemon_id
        self._start_xmlrpc()
        self._write_daemon_pids()

    def _start_xmlrpc(self):
        port = None
        if is_developer_mode():
            port = 8080
        self._xmlrpc = XMLRPCService(port)
        self._xmlrpc.serve()

    def _write_daemon_pids(self):
        appdir = get_application_dir()
        daemondir = os.path.join(appdir, 'daemon', self._daemon_id)
        os.makedirs(daemondir)
        port = os.path.join(daemondir, 'port')
        open(port, 'w').write('%s\n' % (self._xmlrpc.port, ))

    def _check_active(self):
        if not self._xmlrpc.is_active():
            self.shutdown()

    def shutdown(self):
        reactor.stop()

    def run(self):
        reactor.run()
Example #2
0
class Daemon(object):
    def __init__(self, daemon_id):
        self._daemon_id = daemon_id
        self._start_xmlrpc()
        self._write_daemon_pids()

    def _start_xmlrpc(self):
        port = None
        if is_developer_mode():
            port = 8080
        self._xmlrpc = XMLRPCService(port)
        self._xmlrpc.serve()

    def _write_daemon_pids(self):
        appdir = get_application_dir()
        daemondir = os.path.join(appdir, 'daemon', self._daemon_id)
        os.makedirs(daemondir)
        port = os.path.join(daemondir, 'port')
        open(port, 'w').write('%s\n' % (self._xmlrpc.port, ))

    def _check_active(self):
        if not self._xmlrpc.is_active():
            self.shutdown()

    def shutdown(self):
        reactor.stop()

    def run(self):
        reactor.run()
Example #3
0
class Daemon(threading.Thread):
    def __init__(self, port=None):
        threading.Thread.__init__(self)

        self.port = port
        if self.port is None and is_developer_mode():
            self.port = 8080
        # Indicate that this Thread is a daemon. Accordingly to the
        # documentation, the entire python program exits when no alive
        # non-daemon threads are left.
        self.daemon = True
        self.running = False

    #
    #  Public API
    #

    def run(self):
        self._xmlrpc = XMLRPCService(self.port)
        self._xmlrpc.serve()

        self.port = self._xmlrpc.port
        self.running = True

    def stop(self):
        terminate_thread(self)
        self.port = None
        self.running = False
Example #4
0
 def _start_xmlrpc(self):
     port = None
     if is_developer_mode():
         port = 8080
     self._xmlrpc = XMLRPCService(port)
     self._xmlrpc.serve()
Example #5
0
    def run(self):
        port = 8080 if is_developer_mode() else None
        self._xmlrpc = XMLRPCService(port)
        self._xmlrpc.serve()

        self.port = self._xmlrpc.port
Example #6
0
 def _start_xmlrpc(self):
     port = None
     if is_developer_mode():
         port = 8080
     self._xmlrpc = XMLRPCService(port)
     self._xmlrpc.serve()
Example #7
0
    def run(self):
        self._xmlrpc = XMLRPCService(self.port)
        self._xmlrpc.serve()

        self.port = self._xmlrpc.port
        self.running = True