Seite 1 von 1

Grundlagenfragen zur Webprogrammierung mit Python

Verfasst: Mittwoch 10. Oktober 2007, 20:28
von Damaskus
Hi,
ich hab einen uralten HTML/PHP/Mysql Reload Chat, der schon lange nach einem update schreit.
Seither ist er komplett in PHP erstellt und benötigt MySql Zugriff, PHP_SESSION und POST Daten.

Jetzt würde ich das ganze gerne auf Python umschreiben und dazu hab ich noch einige Fragen bzw. Probleme:

Ich würde das ganze gerne als Dienst im Hintergrund, bzw als selbstständiger Server laufen lassen, da der Chat eine sehr einfach"KI" hat, die im Hintergrund permanent laufen soll.
Allerdings muss der Chat als ganz normale Website aufrufbar sein und änderungen am bestehenden Apache sind nicht möglich. Also mod_python und fast_cgi fallen aus.

Ich hab mir überlegt die POST Daten im Rohzustand mit Userdaten in eine DB zu schreiben und die jede Sekunde auf neue Inhalte abzufragen ... was aber sehr Serverlastig ist und auch nicht wirklich toll.

Dann brauche ich noch eine möglichkeit wie ich SESSION Daten mit python CGI benutzen kann.

Ein aufwendiges Template oder sowas in der Art brauche ich nicht unbedingt, da der Chat weiterhin aus einfachstem HTML besteht und der alte "nervige" Reload muss ebenfalls erhalten bleiben.

Ich bin für sämtliche Tipps und Anregungen Dankbar!

Gruß
Damaskus

Verfasst: Mittwoch 10. Oktober 2007, 20:51
von veers

Re: Grundlagenfragen zur Webprogrammierung mit Python

Verfasst: Mittwoch 10. Oktober 2007, 21:58
von gerold
Damaskus hat geschrieben:Ich würde das ganze gerne als Dienst im Hintergrund, bzw als selbstständiger Server laufen lassen
[...]
jede Sekunde auf neue Inhalte abzufragen
[...]
Dann brauche ich noch eine möglichkeit wie ich SESSION Daten mit python CGI benutzen kann.
Hallo Damaskus!

Ich nutze derzeit CherryPy. Deshalb kann ich dir sagen, wie das damit läuft. Aber vorher noch ein Wort zur geplanten Sekunde. -- Ich halte eine Sekunde für sehr kurz. Drei, vier oder fünf Sekunden sollten schon drinnen sein. :roll: Aber das kommt natürlich auch auf die Serverlast und -anbindung an.

CherryPy bringt seinen eigenen (threaded) WSGI-Server mit und kann damit eigenständig laufen. Du kannst, wenn du möchtest, den Apachen zum Weiterleiten der Adresse veranlassen (mod_redirect) oder direkt auf den von CherryPy geöffneten Port zugreifen.

Hier der CherryPy-Erfahrungsbericht: http://www.python-forum.de/topic-10807.html

Sessions muss man in CherryPy nur in den Einstellungen aktivieren. Schon kann man im Code auf das Objekt ``cherrypy.session`` zugreifen und darin Daten aufbewahren.

http://www.cherrypy.org/wiki/CherryPySessions

Die Datenbankverbindungen kannst du an das Objekt ``cherrypy.thread_data`` binden.

http://www.python-forum.de/post-71936.html#71936

Wenn du möchtest, dann kannst du CherryPy zusätzlich auch als XMLRPC-Server einsetzen. Dann kannst du dir die **Änderungen** per XMLRPC holen und in der HTML-Seite per JavaScript anzeigen lassen. Da ich derzeit so gut wie Nichts in JavaScript programmiere, würde ich wahrscheinlich diese Variante bevorzugen -- nur um ein wenig Übung zu bekommen.

http://www.python-forum.de/post-70912.html#70912
Gleich im ersten Beitrag wird gezeigt, wie man CherryPy auch als XMLRPC-Server einsetzen kann. :-)

Alles in Allem finde ich, dass CherryPy ein schönes Stück Code ist. :-)

lg
Gerold
:-)

Verfasst: Freitag 19. Oktober 2007, 16:56
von Damaskus
So ich hab mich jetzt eine Woche intensiv mit CherryPy beschäftigt und kanns nur weiterempfehlen!

Danke an Gerold für den Erfahrungsbericht und das echt gute Tutorial!

Mfg
Damaskus