示例#1
0
def startWeb(p, resourcePath, nonesym, timec, timebg, btc, btbg, etc, etbg,
             showetflag, showbtflag):
    global port, process, static_path, nonesymbol, timecolor, timebackground, btcolor, btbackground, etcolor, etbackground, showet, showbt
    try:
        port = p
        static_path = resourcePath
        nonesymbol = nonesym
        timecolor = timec
        timebackground = timebg
        btcolor = btc
        btbackground = btbg
        etcolor = etc
        etbackground = etbg
        showet = showetflag
        showbt = showbtflag
        if psystem() != 'Windows':
            gsignal(SIGQUIT, kill)

        # start the server in a separate process


# using multiprocessing
        process = mProcess(target=work,
                           args=(
                               port,
                               resourcePath,
                               nonesym,
                               timec,
                               timebg,
                               btc,
                               btbg,
                               etc,
                               etbg,
                               showetflag,
                               showbtflag,
                           ))
        process.start()

        libtime.sleep(4)

        # check successful start
        url = "http://127.0.0.1:" + str(port) + "/status"
        r = rget(url, timeout=2)

        if r.status_code == 200:
            return True
        else:
            return False

    except Exception:
        #        import traceback
        #        import sys
        #        traceback.print_exc(file=sys.stdout)
        return False
示例#2
0
文件: director.py 项目: bkrantz/compy
    def __init__(self, size=500, name="default", *args, **kwargs):
        gsignal(signal.SIGINT, self.stop)
        gsignal(signal.SIGTERM, self.stop)

        self.name = name
        self.actors = {}
        self.size = size

        self.log_actor = self.__create_actor(STDOUT, "default_stdout")
        self.error_actor = self.__create_actor(EventLogger, "default_error_logger")

        self.__running = False
        self.__block = self._async_class()
        self.__block.clear()
示例#3
0
def startWeb(p,resourcePath,nonesym,timec,timebg,btc,btbg,etc,etbg,showetflag,showbtflag):
    global port, process, static_path, nonesymbol, timecolor, timebackground, btcolor, btbackground, etcolor, etbackground, showet, showbt
    try:
        port = p
        static_path = resourcePath
        nonesymbol = nonesym
        timecolor = timec
        timebackground = timebg
        btcolor = btc
        btbackground = btbg
        etcolor = etc
        etbackground = etbg
        showet = showetflag
        showbt = showbtflag
        if psystem() != 'Windows':
            gsignal(SIGQUIT, kill)
        
        # start the server in a separate process
# using multiprocessing
        process = mProcess(target=work,args=(
            port,
            resourcePath,
            nonesym,
            timec,
            timebg,
            btc,
            btbg,
            etc,
            etbg,
            showetflag,
            showbtflag,))
        process.start()
       
        libtime.sleep(4)
        
        # check successful start
        url = "http://127.0.0.1:" + str(port) + "/status"
        r = rget(url,timeout=2)
        
        if r.status_code == 200:
            return True
        else:
            return False

    except Exception:
#        import traceback
#        import sys
#        traceback.print_exc(file=sys.stdout)
        return False
示例#4
0
def startWeb(p, resourcePath, nonesym, timec, timebg, btc, btbg, etc, etbg,
             showetflag, showbtflag):
    global port, process, static_path, nonesymbol, timecolor, timebackground, btcolor, btbackground, etcolor, etbackground, showet, showbt
    port = p
    static_path = resourcePath
    nonesymbol = nonesym
    timecolor = timec
    timebackground = timebg
    btcolor = btc
    btbackground = btbg
    etcolor = etc
    etbackground = etbg
    showet = showetflag
    showbt = showbtflag
    if psystem() != 'Windows':
        gsignal(SIGQUIT, kill)

    process = mp.Process(name='WebLCDs',
                         target=work,
                         args=(
                             port,
                             resourcePath,
                             nonesym,
                             timec,
                             timebg,
                             btc,
                             btbg,
                             etc,
                             etbg,
                             showetflag,
                             showbtflag,
                         ))
    process.start()

    libtime.sleep(4)

    if process.is_alive():
        # check successful start
        url = "http://127.0.0.1:" + str(port) + "/status"
        r = rget(url, timeout=2)

        if r.status_code == 200:
            return True
        else:
            return False
    else:
        return False
示例#5
0
    def __init__(self, size=500, name="default", generate_blockdiag=True, blockdiag_dir="./build/blockdiag"):
        gsignal(signal.SIGINT, self.stop)
        gsignal(signal.SIGTERM, self.stop)
        self.name = name
        self.actors = {}
        self.size = size

        self.log_actor = self.__create_actor(STDOUT, "default_stdout")
        self.error_actor = self.__create_actor(EventLogger, "default_error_logger")

        self.__running = False
        self.__block = event.Event()
        self.__block.clear()

        self.blockdiag_dir = blockdiag_dir
        self.generate_blockdiag = generate_blockdiag
        if generate_blockdiag:
            self.blockdiag_out = """diagram admin {\n"""
示例#6
0
    def __init__(self, size=500, name="default", generate_blockdiag=False, blockdiag_dir="./build/blockdiag"):
        gsignal(signal.SIGINT, self.stop)
        gsignal(signal.SIGTERM, self.stop)

        self.name = name
        self.actors = {}
        self.size = size

        self.log_actor = self.__create_actor(STDOUT, "default_stdout")
        self.error_actor = self.__create_actor(EventLogger, "default_error_logger")

        self.__running = False
        self.__block = self._async_class()
        self.__block.clear()

        self.blockdiag_dir = blockdiag_dir
        self.generate_blockdiag = generate_blockdiag
        if generate_blockdiag:
            self.blockdiag_out = """diagram admin {\n"""
示例#7
0
def apps(socket, address):
    # this handler will be run for each incoming connection in a dedicated greenlet
    # using a makefile because we want to use readline()
    gsignal(signal.SIGTERM, exit, server)
    gsignal(signal.SIGQUIT, exit, server)
    gsignal(signal.SIGINT, exit, server)

    fileobj = socket.makefile()
    #timer = Timeout(1).start()

    line = fileobj.readline()
    while line:
        print line
        recv = False
        if line.strip() == 'quit':
            break

        result = resolv(line)
        fileobj.write(result)
        recv = True

        fileobj.flush()
        socket.close()
        #if recv:
        #    break
        try:
            line = fileobj.readline()
        except Exception, e:
            debug_log('error...............')
            break
示例#8
0
def apps(socket, address):
    # this handler will be run for each incoming connection in a dedicated greenlet
    # using a makefile because we want to use readline()
    gsignal(signal.SIGTERM, exit, server)
    gsignal(signal.SIGQUIT, exit, server)
    gsignal(signal.SIGINT, exit, server)

    fileobj = socket.makefile()
    #timer = Timeout(1).start()

    line = fileobj.readline()
    while line:
        print line
        recv = False
        if line.strip() == 'quit':
            break

        result = resolv(line)
        fileobj.write(result)
        recv = True

        fileobj.flush()
        socket.close()
        #if recv:
        #    break
        try:
            line = fileobj.readline()
        except Exception, e:
            debug_log('error...............')
            break
示例#9
0
#!/usr/bin/python3
import signal
from gevent import signal as gsignal
from gevent.pywsgi import WSGIServer
from pyuval.app import createOtpServer

app = createOtpServer('server.yaml')
#app.run('0.0.0.0')
httpServer = WSGIServer(('127.0.0.1', 5000), app)
gsignal(signal.SIGINT, httpServer.stop)
httpServer.serve_forever()
示例#10
0
文件: weblcds.py 项目: seckar/artisan
def startWeb(p, resourcePath, nonesym, timec, timebg, btc, btbg, etc, etbg,
             showetflag, showbtflag):
    global port, process, static_path, nonesymbol, timecolor, timebackground, btcolor, btbackground, etcolor, etbackground, showet, showbt
    port = p
    static_path = resourcePath
    nonesymbol = nonesym
    timecolor = timec
    timebackground = timebg
    btcolor = btc
    btbackground = btbg
    etcolor = etc
    etbackground = etbg
    showet = showetflag
    showbt = showbtflag
    if psystem() != 'Windows':
        gsignal(SIGQUIT, kill)

    # start the server in a separate process
    # using multiprocessing
    if psystem() == 'Darwin':
        try:
            # start method can only be set once!
            #            if "fork" in mp.get_all_start_methods():
            #                mp.set_start_method('fork') # default on Python3.7 for macOS (and Unix), but considered unsafe,
            # not available on Windows, on Python3.8 we have to explicitly set this
            # https://bugs.python.org/issue33725
            if "forkserver" in mp.get_all_start_methods():
                mp.set_start_method(
                    'forkserver'
                )  # only available on Python3 on Unix, currently (Python 3.8) not supported by frozen executables generated with pyinstaller


#            if "spawn" in mp.get_all_start_methods():
#                mp.set_start_method('spawn') # default on Python3.8 for macOS (always default on Windows)
# this breaks on starting WebLCDs in macOS (and linux) builds with py2app, pyinstaller
# https://bugs.python.org/issue32146
# https://github.com/pyinstaller/pyinstaller/issues/4865
        except:
            pass
    process = mp.Process(name='WebLCDs',
                         target=work,
                         args=(
                             port,
                             resourcePath,
                             nonesym,
                             timec,
                             timebg,
                             btc,
                             btbg,
                             etc,
                             etbg,
                             showetflag,
                             showbtflag,
                         ))
    process.start()

    libtime.sleep(4)

    if process.is_alive():
        # check successful start
        url = "http://127.0.0.1:" + str(port) + "/status"
        r = rget(url, timeout=2)

        if r.status_code == 200:
            return True
        else:
            return False
    else:
        return False
示例#11
0
            item = queue.get()
        except hub.LoopExit:
            logger.error("exit getter spawner...")
            return
        queue.task_done()
        gs.append(gevent.spawn(http_getter, item))


if __name__ == '__main__':
    #TODO: 设置监视greenlet
    q = queue.JoinableQueue()
    
    def server_exit():
        gevent.killall(gs, block=False)
        
    gsignal(signal.SIGALRM, signal.SIG_IGN)
    gsignal(signal.SIGHUP, signal.SIG_IGN)
    gsignal(signal.SIGINT, server_exit)
    gsignal(signal.SIGTERM, server_exit)
    
    gs.append(gevent.spawn(process, thread_queue))
    
    xen_manager = XenserverManager(q)
    gs.append(gevent.spawn(xen_manager.make_10m_perf_url))
    gs.append(gevent.spawn(xen_manager.make_2h_perf_url))
    gs.append(gevent.spawn(xen_manager.make_1w_perf_url))
    gs.append(gevent.spawn(xen_manager.make_1y_perf_url))
    g_spawner = gevent.spawn(spawner, q)
    gs.append(g_spawner)
    try:
        g_spawner.run()
示例#12
0
    def start(self):
        """
        Start info server method
        """
        localserver = server.StreamServer((self.localip, self.serverport), self.handle)
        gsignal(signal.SIGTERM, localserver.stop)
        gsignal(signal.SIGINT, localserver.stop)
        localserver.start()
        ConsoleLogger.log("INF", "Info server running on " + self.localip + ':' + str(self.serverport))

        if self.localip != '127.0.0.1':
            lbserver = server.StreamServer(('127.0.0.1', self.serverport), self.handle)
            gsignal(signal.SIGTERM, lbserver.stop)
            gsignal(signal.SIGINT, lbserver.stop)
            lbserver.start()
            ConsoleLogger.log("INF", "Info server running on 127.0.0.1:" + str(self.serverport))
        
        if len(self.remoteip) > 0:
            remoteserver = server.StreamServer(('127.0.0.1', self.serverport), self.handle)
            gsignal(signal.SIGTERM, remoteserver.stop)
            gsignal(signal.SIGINT, remoteserver.stop)
            remoteserver.start()
            ConsoleLogger.log("INF", "Info server running on " + self.remoteip + ':' + str(self.serverport))
示例#13
0
        msg = json.dumps({"data": "Not Found"})
        return [msg]


if __name__ == '__main__':
    #TODO: 设置监视greenlet
    q = queue.JoinableQueue()

    wsgi_server = WSGIServer(('', 23458), application)
    wsgi_server.start()

    def server_exit():
        wsgi_server.stop(0)
        gevent.killall(gs, block=False)

    gsignal(signal.SIGALRM, signal.SIG_IGN)
    gsignal(signal.SIGHUP, signal.SIG_IGN)
    gsignal(signal.SIGINT, server_exit)
    gsignal(signal.SIGTERM, server_exit)

    threading.Thread(target=process.process, args=(thread_queue, )).start()
    xen_manager = XenserverManager(q)
    gs.append(gevent.spawn(xen_manager.make_10m_perf_url))
    gs.append(gevent.spawn(xen_manager.make_2h_perf_url))
    gs.append(gevent.spawn(xen_manager.make_1w_perf_url))
    gs.append(gevent.spawn(xen_manager.make_1y_perf_url))
    g_spawner = gevent.spawn(spawner, q)
    gs.append(g_spawner)

    try:
        g_spawner.run()