У меня есть программа на Python.Он создает новый поток, который является сервером API.Работает в тестовой среде.Однако я хочу использовать WSGI (например, gunicorn) в производственной среде.Как я могу сделать это без серьезных изменений?
Есть много причин, по которым я хочу использовать WSGI, но одна большая причина в том, что я хочу установить тайм-аут, чтобы убивать открытые соединения для очень медленных запросов.Я столкнулся с проблемой производительности.Очень медленный запрос в конечном итоге влияет на другие запросы.
* файлы
├── server.py
└── api.py
* server.py
import time
import api
api_server = api.APIServer()
api_server.daemon = True
api_server.start()
while True:
time.sleep(1)
* api.py
import threading
from flask import Flask
class APIServer(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
app.run(host="127.0.0.1", port=5000, threaded=True)
Обновление 1
Настоящий код здесь.Я взял некоторые из этого кода.
https://github.com/CounterpartyXCP/counterparty-lib/blob/master/counterpartylib/server.py#L403
Способ Vidstige является абсолютно правильным.Но я не хочу сильно меняться, если это возможно.