Как обслуживать приложение CherryPy в нескольких портах самостоятельно? - PullRequest
0 голосов
/ 02 мая 2020

Я использую CherryPy для обслуживания своего приложения в нескольких портах, скажем, 8080 и 8081

cherrypy.server.unsubscribe()

for port in [8080, 8081]:
    server = Server()
    server.socket_port = port
    server.socket_host = "0.0.0.0"
    server.thread_pool = 100
    server.subscribe()
cherrypy.engine.start()
cherrypy.engine.block()

При этом приложение обслуживается, как и ожидалось, на обоих портах. Теперь по какой-то причине я хочу остановить сервер с указанным c портом, а другой обслуживается нормально. Когда я останавливаю процесс на определенном порту с помощью следующей команды,

fuser -k "$port"/tcp

Все процессы на портах, на которых было запущено приложение (8080, 8081), также завершаются. Это ожидаемое поведение?

Если да, могу ли я в любом случае обслуживать приложение независимо, не затрагивая другие порты, на которых оно работает? (Кроме того, как я должен изменить порт в исходном коде и запустить его снова вручную)

Если нет, то какую ошибку я здесь делаю?

Любая помощь будет оценена!

...