У меня есть код ниже:

from wsgiref import simple_server
import falcon

app = falcon.API(middleware=Auth())
msg = Something()
app.add_route('/hello', msg)     

httpd = simple_server.make_server(127.0.0.1, 8987, app)

m_process = Thread(target=httpd.serve_forever(poll_interval=0.5), name="m_process")
m_process.start()

s = Thread(target=httpd.shutdown(), name="s_process")
s.start()

В логике класса Something() я увеличиваю или уменьшаю счетчик, который я сохранил в базе данных, на основе некоторой логики. Я хотел бы вызвать поток s на основе условия в базе данных. По сути, я пытаюсь выключить сервер. Я использовал объяснение в http: // code .nabla.net / doc / wsgiref / api / wsgiref / simple_server / wsgiref.simple_server.WSGIServer.html для этого. Но вроде не убивает сервер. Что я делаю неправильно?

0
user1452759 19 Окт 2019 в 22:52

1 ответ

Хорошо, я получил ответ на свой вопрос. Я делал глупую ошибку при настройке target m_process. Ниже работает

from wsgiref import simple_server
import falcon

app = falcon.API(middleware=Auth())
msg = Something()
app.add_route('/hello', msg)     

httpd = simple_server.make_server(127.0.0.1, 8987, app)

m_process = Thread(target=httpd.serve_forever, name="m_process")
m_process.start()

s = Thread(target=httpd.shutdown(), name="s_process")
s.start()
0
user1452759 20 Окт 2019 в 09:16