Jak se vám daemonize aplikace Flask?

hlasů
22

I hav malé aplikace napsané v jazyce Python s použitím baňky. Právě teď běží pod nohup, ale já bych to daemonize. Jaký je správný způsob, jak toho dosáhnout?

Položena 13/06/2011 v 23:22
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
29

Existuje několik způsobů, jak nasadit projektu Flask . Nasazení s gunicorn může být nejjednodušší, instalace gunicorn a pak:

gunicorn project:app --daemon

I když budete chtít použít nadřízeného nebo něco takového charakteru sledovat gunicorn (to přinejmenším použití --pid, takže si můžete načíst / stop gunicorn snadno).

Odpovězeno 13/06/2011 v 23:36
zdroj uživatelem

hlasů
2

Máte-li dohlížitel již nainstalován, myslím gunicorn bude trochu nadbytečný. Níže je uveden flask.ini soubor, který může být zrušen v /etc/supervisord.d/ (tehdy „supervisorctl Obnovit“ znovu načíst konfiguraci a zahájit proces).

command=/opt/flask/env0/bin/python /opt/flask/developer/FlaskWebServer.py
directory=/opt/flask
redirect_stderr=true
startsecs=5
autorestart=true
stdout_logfile=/opt/flask/flask.stdout.log
Odpovězeno 18/12/2013 v 18:29
zdroj uživatelem

hlasů
0

Pokud byste chtěli, aby ji sledovat a udržovat ji vytrvalý přes restartuje, můžete použít nesmrtelná

Dalo by se to nazvat takhle:

nesmrtelný -l / var / log / vaše-app gunicorn projektu: app

Nebo prostřednictvím run.yml , například:

cmd: gunicorn project:app
cwd: /path/of/project
env:
    DEBUG: 1
    ENVIRONMENT: production
 log:
    file: /var/log/app.log
    age: 86400 # seconds
    num: 7     # int
    size: 1    # MegaBytes
    timestamp: true # will add timesamp to log
 stderr:
    file: /var/log/app-error.log
    age: 86400 # seconds
    num: 7     # int
    size: 1    # MegaBytes
    timestamp: true # will add timesamp to log
 user: www

Více informací o nesmrtelné: https://immortal.run/about/

Odpovězeno 07/09/2017 v 19:17
zdroj uživatelem

hlasů
0

Jsem běžecké CentOS s systemd pracují pro všechny mé další služby. Tak jsem použil stejný pro mé baňky app

Vytvoření skriptu sh se všemi svými nastaveními baňky

#!/bin/bash
# flask settings
export FLASK_APP=/some_path/my_flask_app.py
export FLASK_DEBUG=0

flask run --host=0.0.0.0 --port=80

Aby tento skript jako spustitelný

chmod + x path / z / moje / script.sh

Přidání systemd službu volání tento skript

/ etc / systemd / system /
vim flask.service

[Unit]
Description = flask python command to do useful stuff

[Service]
ExecStart = path/of/my/script.sh

[Install]
WantedBy = multi-user.target

Dokončit, zapněte ji při startu

systemctl umožnit flask.service

Více informací o systemd: https://www.tecmint.com/create-new-service-units-in-systemd/

Odpovězeno 04/03/2019 v 18:36
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more