# Класс, реализующий веб-сервер
class WebServer(tornado.web.Application):
def init(self):
self.fd = FaceDetector()
# Прописываем роутинг
handlers = [
(r"/FindFaces", FindFacesHandler),
(r"/PredictFaceShape", PredictFaceShapeHandler),
(r"/CompareFaces", CompareFacesHandler),
]
# Настройки веб-сервера
settings = dict(
cookie_secret="TODO:_GENERATE_YOUR_OWN_RANDOM_VALUE_HERE",
debug=True
)
# Передаём обработчики запросов и настройки в конструктор базового класса
super().init(handlers, **settings)
# Запускает веб-сервер в работу
def run(self, port: int):
# Указываем, какой порт будет прослушивать сервер
self.listen(port, address='127.0.0.1')
# Запускаем цикл обработки событий
shutdown_event = tornado.locks.Event()
tornado.ioloop.IOLoop.current().run_sync(shutdown_event.wait)