Как развернуть 2 приложения на 1 Ip-адресе?
Проект: Ubuntu + Nginx + Flask + Gunicorn + wsgi.
Логика такая:
- 1ое приложения - рабочее
- 2ое приложение - тестовое(другая БД, другие ссылки c префиксами)
Оба слушают 1 IP-адрес, но разные ссылки на нем.
Создал другую БД, добавил префикс к ссылкам для 2го приложения, но не запускаются сразу 2 приложения. Сначала запускается 1, потом когда отрубишь его - запускается другое. Сразу оба не работают. Как сделать чтобы работали сразу оба?
Файл wsgi.py:
from myproject import MyApp as app
from test_project import Test_App as test_app
import threading
if __name__ == "__main__":
aps1 = threading.Thread(target=app.run(port=5000, debug=False)).start()
aps2 = threading.Thread(target=test_app.run(port=5001, debug=False)).start()
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Вы же сразу функцию вызываете в основном потоке app.run(port=5000, debug=False). А в поток в качестве target передаёте результат этой функции. Вот оно и ждёт завершения функции app.run() прежде чем аналогично будет позвана test_app.run().
Попробуйте так:
aps1 = threading.Thread(target=lambda: app.run(port=5000, debug=False)).start()
aps2 = threading.Thread(target=lambda: test_app.run(port=5001, debug=False)).start()