Starten Sie den Thin-Server neu, während die Änderungen im neu bereitgestellten Verzeichnis übernommen werden

Starten Sie den Thin-Server neu, während die Änderungen im neu bereitgestellten Verzeichnis übernommen werden

Nach der Bereitstellung mit Capistrano, wo ich eine Bereitstellungsaufgabe habe, die den Thin-Server neu startet, werden die gerade bereitgestellten Änderungen nicht vom Thin-Server übernommen.

Auch wenn ich den Befehl „Thin Restart“ manuell aus dem neuen Bereitstellungsverzeichnis ausführe:

bundle exec thin restart -S /tmp/app.sock -e production -d

Ich kann sehen, dass sich die PID des Prozesses ändert, aber es scheint, als ob er weiterhin Dateien aus dem alten Bereitstellungsverzeichnis bereitstellt. Wenn ich den Thin Server stoppe und erneut starte, funktioniert es, aber ich möchte, dass die Bereitstellung ohne Ausfallzeiten funktioniert.

Als Folgemaßnahme scheint es einfach einen Neustart mit derselben Codebasis zu geben, die bei der letzten Bereitstellung verwendet wurde. Ich habe versucht, mit „--chdir“ die Verwendung des neuen Bereitstellungsverzeichnisses zu erzwingen, aber das hatte keinen Effekt.

verwandte Informationen