Gunicorn: Erreur 26 du système d'exploitation : fichier texte occupé lors de l'exécution de gunicorn à l'aide de --pid dans Vagrant

Créé le 31 mai 2017  ·  4Commentaires  ·  Source: benoitc/gunicorn

Salut tout le monde,

Avoir quelques problèmes d'exécution avec le drapeau --pid . Il semble que chaque fois que j'utilise ce drapeau, le gunicorn est incapable de démarrer. Sans le drapeau, il n'y a pas de problèmes. Voici l'erreur. Il semble que gunicorn tente de renommer le fichier pid temporaire en "bzpid" dans ce cas, mais il ne peut pas car il est occupé. Peut-être y a-t-il quelque chose qui accède au fichier ? Je ne pouvais pas imaginer quoi cependant...

vagrant@basezero-nightly :/vagrant/client$ cd /vagrant/serveur
vagrant@basezero-nightly :/vagrant/server$ export BASEZERO_FLASK_SETTINGs=/vagrant/server/prodconfig.py
vagrant@basezero-nightly :/vagrant/server$ gunicorn --pid bzpid basezero_flask :app
[2017-05-31 13:44:12 +0000] [20613] [INFO] Démarrage du gunicorn 19.7.1
Traceback (dernier appel le plus récent) :
Fichier "/usr/local/bin/gunicorn", ligne 11, dans
sys.exit (exécuter ())
Fichier "/usr/local/lib/python3.5/dist-packages/gunicorn/app/wsgiapp.py", ligne 74, en cours
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
Fichier "/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py", ligne 203, en cours
super(Application, soi).run()
Fichier "/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py", ligne 72, en cours
Arbitre(auto).run()
Fichier "/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py", ligne 198, en cours
self.start()
Fichier "/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py", ligne 139, au début
self.pidfile.create(self.pid)
Fichier "/usr/local/lib/python3.5/dist-packages/gunicorn/pidfile.py", ligne 39, dans create
os.rename(fname, self.fname)
OSError : [Errno 26] Fichier texte occupé : '/vagrant/server/tmpz5qc_vy3' -> 'bzpid'

Merci de votre aide.

Commentaire le plus utile

Êtes-vous en train de courir sur Windows par hasard? Si tel est le cas, vous partagez peut-être le répertoire avec Windows et le système de fichiers Windows ne peut pas prendre en charge le changement de nom pendant son utilisation.

Tous les 4 commentaires

Êtes-vous en train de courir sur Windows par hasard? Si tel est le cas, vous partagez peut-être le répertoire avec Windows et le système de fichiers Windows ne peut pas prendre en charge le changement de nom pendant son utilisation.

Peut confirmer que cela se produit également avec Virtualbox

@akshaybabloo mais sur Windows partageant un répertoire aussi ?

Oui, mais je suppose que c'est un problème avec Virtualbox (essentiellement tout ce qui n'est pas le logiciel de Microsoft), Windows verrouille tout fichier qui n'est pas généré avec Hyper-V. Si vous passez à Hyper-V, vous n'aurez pas ce problème.

Mais vous aurez un autre problème, Hyper-v a tendance à confondre plusieurs machines virtuelles en cours d'exécution, finit par planter ou ne fait rien. Je pense que pour surmonter cela, vous devrez peut-être créer un nouveau réseau virtuel.

Cette page vous a été utile?
0 / 5 - 0 notes