Anscheinend können Sie mit Cherrypy pdb.settrace() in der Mitte Ihres App-Codes hinzufügen, und dann im Terminal, in dem Sie Cherrypy gestartet haben, nachdem Sie diesen Code in Ihrem Browser aufgerufen haben, können Sie dann herumlaufen und Dinge überprüfen.
Ich habe gerade davon gehört; Ich habe es nicht aus erster Hand gesehen. Aber ich weiß, dass es ähnliche Dinge in .NET und anderen Frameworks gibt.
Könnte so etwas in gunicorn eingerichtet werden? Wie?
Die einfachste Methode wäre, Ihre pdb-Konfiguration im post_fork-Hook durchzuführen, während Sie einen einzelnen Sync-Worker verwenden.
Wenn Sie etwas finden, das nicht wirklich funktioniert, können Sie dies gerne erneut öffnen.
Ich bin über dieses Problem gestolpert und dachte, ich würde die Konfigurationsdatei teilen, die ich dafür verwende:
gunicorn_logfile = "/dev/null"
gunicorn_loglevel = "error"
debug = True
timeout = 900000
workers = 1
worker_class = "sync"
Das Herunterwerfen eines pdb.set_trace()
funktioniert dann entweder mit pdbpp oder pdb, ohne dass der Debugger mit stdout verwechselt wird.
Diese Zeitüberschreitung war genau das, wonach ich gesucht habe. Vielen Dank!
Hilfreichster Kommentar
Ich bin über dieses Problem gestolpert und dachte, ich würde die Konfigurationsdatei teilen, die ich dafür verwende:
Das Herunterwerfen eines
pdb.set_trace()
funktioniert dann entweder mit pdbpp oder pdb, ohne dass der Debugger mit stdout verwechselt wird.