def main(): parser = argparse.ArgumentParser( description='Run a single task processor', formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--host', '-H', dest='host', type=str, help='connect to host') parser.add_argument('--port', '-p', dest='port', type=int, help='port number') parser.add_argument('--unix_path', '-u', dest='unix_path', type=str, help='connect to Unix domain socket') parser.add_argument('--loop', '-l', dest='loop', default=0, type=int, help='0=default 1=asyncio 2=uvloop 3=proactor 4=quamash') args = parser.parse_args() if args.loop == LoopType.default: loop = util.get_loop() elif args.loop == LoopType.asyncio: loop = asyncio.get_event_loop() elif args.loop == LoopType.uvloop: import uvloop loop = uvloop.Loop() elif args.loop == LoopType.proactor: loop = asyncio.ProactorEventLoop() elif args.loop == LoopType.quamash: import quamash import PyQt5.Qt as qt _qapp = qt.QApplication([]) loop = quamash.QEventLoop() asyncio.set_event_loop(loop) processor = Processor(args.host, args.port, args.unix_path, loop=loop) loop.run_forever()
def event_loop(): """ Set uvloop as the default event loop """ loop = uvloop.Loop() yield loop loop.close()
def get_loop(): """ Get optimal event loop for the platform. """ loop = None if sys.platform == 'win32': loop = asyncio.ProactorEventLoop() else: with suppress(ImportError): import uvloop loop = uvloop.Loop() return loop or asyncio.get_event_loop()
def main(): parser = argparse.ArgumentParser( description='Run a single task processor', formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--host', '-H', dest='host', type=str, help='connect to host') parser.add_argument('--port', '-p', dest='port', type=int, help='port number') parser.add_argument('--unix_path', '-u', dest='unix_path', type=str, help='connect to Unix domain socket') parser.add_argument( '--loop', '-l', dest='loop', default=0, type=int, help='0=default 1=asyncio 2=uvloop 3=proactor 4=quamash') parser.add_argument('--func_pickle', '-f', dest='func_pickle', default=1, type=int, help='0=pickle 1=cloudpickle 2=dill') parser.add_argument('--data_pickle', '-d', dest='data_pickle', default=0, type=int, help='0=pickle 1=cloudpickle 2=dill') args = parser.parse_args() if not args.port and not args.unix_path: print('distex installed OK') return if args.loop == LoopType.default: loop = util.get_loop() elif args.loop == LoopType.asyncio: loop = asyncio.get_event_loop() elif args.loop == LoopType.uvloop: import uvloop loop = uvloop.Loop() elif args.loop == LoopType.proactor: loop = asyncio.ProactorEventLoop() elif args.loop == LoopType.quamash: import quamash import PyQt5.Qt as qt qapp = qt.QApplication([]) # noqa loop = quamash.QEventLoop() asyncio.set_event_loop(loop) processor = Processor( # noqa args.host, args.port, args.unix_path, args.func_pickle, args.data_pickle) loop.run_forever()
description='Run a single task processor', formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--host', '-H', dest='host', type=str, help='connect to host') parser.add_argument('--port', '-p', dest='port', type=int, help='port number') parser.add_argument('--unix_path', '-u', dest='unix_path', type=str, help='connect to Unix domain socket') parser.add_argument('--loop', '-l', dest='loop', default=0, type=int, help='0=default 1=asyncio 2=uvloop 3=proactor 4=quamash') args = parser.parse_args() import sys if args.loop == LoopType.default: loop = util.get_loop() elif args.loop == LoopType.asyncio: loop = asyncio.get_event_loop() elif args.loop == LoopType.uvloop: import uvloop loop = uvloop.Loop() elif args.loop == LoopType.proactor: loop = asyncio.ProactorEventLoop() elif args.loop == LoopType.quamash: import quamash import PyQt5.Qt as qt _qapp = qt.QApplication([]) loop = quamash.QEventLoop() asyncio.set_event_loop(loop) processor = Processor(args.host, args.port, args.unix_path, loop=loop) loop.run_forever()