Un demi-mémo personnel ou un brouillon de blog. Supervisord est réputé pour la gestion des processus d'applications dans le domaine python. Quand j'ai lu la documentation de gunicorn, j'ai trouvé un outil similaire appelé gaffer, alors j'ai essayé de l'utiliser avec du tissu.
$ pip install gaffer
Facile.
Si vous avez joué avec heroku, vous le rencontrerez probablement. Vous pouvez créer le comportement spécifié en mettant quelque chose appelé Procfile dans le projet et en le lisant. Quand on court avec gunicorn, ça ressemble à ça
gunicorn: gunicorn main:app -c gunicorn.conf.py
Si vous voulez l'essayer pour le moment, $ gaffer start
lira le Procfile dans le même répertoire et exécutera le contenu.
Si vous voulez en faire un démon, exécutez $ gaffer load
pour faire de Procfile un démon.
Il sera envoyé à gafferd.
À ce stade, si gafferd n'est pas démarré dans l'état du démon, ConnectError sera renvoyé. Assurez-vous que gafferd --daemon s'exécute au démarrage du système d'exploitation. (Je suis resté coincé ici pendant une heure)
Comment s'appelle-t-elle coopération? Pour le moment, vous pouvez déployer avec les éléments suivants.
fabfile.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from fabric.api import local, run, env, cd, hosts
CODE_DIR = "/votre/Direct/Li"
env.user = "Nom d'utilisateur"
@hosts('localhost:5959')
def commit():
message = raw_input("Enter a git commit message: ")
local("git add . && git commit -m \" %s \"" % message)
local("git push github master")
@hosts('serveur')
def deploy():
with cd(CODE_DIR):
run("git pull origin master")
#Recharger
run("gaffer unload")
run("gaffer load")
Je vais le vérifier en pensant que je n'ai pas à le décharger un par un.
Recommended Posts