mod_wsgi und bottle: Caching Probleme?

Django, Flask, Bottle, WSGI, CGI…
Antworten
Slyx
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2011, 21:23
Wohnort: Trier

Guten Abend,

ich habe soeben Apache mit mod_wsgi und bottle als Framework (endlich :)) zum laufen gebracht.

Jetzt habe ich aber das Problem, das Änderungen an meinem Programm extrem langsam "übernommen" werden.
Das heißt ich ändere z.B. "return 'aa'" auf "return 'bb'" und ich muss die Seite 10-15 mal neu laden oder den Apache neu starten bis ich die Änderung sehe. (Das speichern der Datei dauert übrigens nicht so lange.)

lt. Google-Suche soll das an der ".pyc"-Datei liegen, wenn ich die einfach lösche machts aber leider auch kein Unterschied.

für den Fall, dass das wichtig ist hier noch mein vhost für mod_wsgi:

Code: Alles auswählen

<VirtualHost *:80>
    ServerName py.meineseite.de
    DocumentRoot /var/www/python
    
    WSGIDaemonProcess wsgi user=www-data group=www-data processes=1 threads=5
    WSGIScriptAlias / /var/www/python/app.wsgi
</VirtualHost>
Vielen Dank schon mal fürs lesen :)
deets

Machst du auch ein touch auf's app.wsgi?
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Zum Entwickeln verwendet man keinen Apache, und beim Deployment toucht man die wsgi Datei
Slyx
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2011, 21:23
Wohnort: Trier

Danke für eure Antworten.
Zum Entwickeln verwendet man keinen Apache
Könntest du mir dazu noch erklären wieso nicht? Ist es nicht (im allgemeinen) sinnvoll, auf dem System zu entwickeln, auf dem die Anwendung auch laufen soll?
Und was ist dann eine sinnvolle Alternative, der bottle-eigene Webserver?
Machst du auch ein touch auf's app.wsgi?
Was genau ist mit touch gemeint?
Ich habe gerade mal versucht den filehash bzw. die mtime der app.wsgi nach meiner Programmänderung zu modifizieren aber das wars wohl nicht.
BlackJack

@Slyx: Bei der Entwicklungsumgebung hat man in der Regel ja sowieso Einstellungen am Start, die später in der Produktivumgebung anders sind. Also zum Beispiel detailliertere Fehlermeldungen, die ein Endanwender besser nicht zu Gesicht bekommt, weil sie zu viel von der Implementierung oder der Serverumgebung preisgeben können. Beispielweise Quelltexteile, Einstellungen, und Pfade in Tracebacks.

Der eingebaute Webserver ist leichtgewichtiger und einfacher zu handhaben. Ausserdem kann man da eine eventuell kompliziertere Webserverkonfiguration als Fehlerquelle ausschliessen.

Mit touch war das Unix-Programm gemeint.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Slyx hat geschrieben:Danke für eure Antworten.
Zum Entwickeln verwendet man keinen Apache
Könntest du mir dazu noch erklären wieso nicht? Ist es nicht (im allgemeinen) sinnvoll, auf dem System zu entwickeln, auf dem die Anwendung auch laufen soll?
Klar, aber das wird bei deinem System nie der Fall sein, dafür gibt es Staging-Systeme die das Produktiv-System exakt replizieren.
Und was ist dann eine sinnvolle Alternative, der bottle-eigene Webserver?
Jupp
Benutzeravatar
noisefloor
User
Beiträge: 3875
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

der in Bottle eingebaute Server hat doch mit

Code: Alles auswählen

run(reloader=True)
eine extem komfortable Option, die den Autoreload der ganzen App bei Änderungen selbstständig überwacht und veranlasst. Das sollte man bei der Entwicklung auch nutzen. :-)

Gruß, noisefloor
Slyx
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2011, 21:23
Wohnort: Trier

Danke für eure Hilfe, ich nutzte dann ab jetzt den bottle Webserver zur Entwicklung :)
Antworten