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
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()
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
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
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"""
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"""
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
#!/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()
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
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()
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))
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()