Как запустить два приложения на отдельном IOLoop на одном и том же порту в Tornado - PullRequest
0 голосов
/ 13 февраля 2019
import tornado
from tornado import httpserver
from tornado import web
from tornado.ioloop import IOLoop

class ServiceHandler1(tornado.web.RequestHandler):
    def initialize(self, *args, **kwargs):
        print "service1 handler"

class ServiceHandler2(tornado.web.RequestHandler):
    def initialize(self, *args, **kwargs):
        print "service2 handler"

def main():
    print "started main"
    application1 = web.Application([
        (r"/app1", ServiceHandler1),
        (r"/app2", ServiceHandler2),
    ])
    http_server = httpserver.HTTPServer(application1)
    http_server.listen(8080)

    print "start ioloop"
    tornado.ioloop.IOLoop.instance().start()

if __name__ == '__main__':
    main()
    print "started"

Я хочу запустить / app1 на одном ioloop и / app2 на другом ioloop, чтобы вызовы этих API не блокировали друг друга

...