Seite 1 von 1

mod_python

Verfasst: Mittwoch 30. April 2008, 09:28
von toby
Hallo,

ich knabbere zur Zeit an einem hässlichen Problem und kann dazu nicht brauchbares im i-net finden. Ich muss einen Apache Server mit mod_python laufen lassen. Dabei greift eine Flex bassierte GUI mittels eines http requests auf den Apache zu und lässt über mod_python ein weiteres py ausführen. Dieses importiert ein py aus meiner Datenbank, die nur für AMD64 angeboten wird. Deshalb muss ich dafür 64 bit python laufen lassen.

Ich habe versucht mod_python selbt mittels .net sdk framework zu kompilieren.
Ich habe versucht die python2x.dll und die regedit zu ändern um mod_python glauben zu lassen es gäbe eine insatllation auf 32 bit, alles bisher ohne Erfolg.

Hilfe wäre klasse

Grüße

Toby

Verfasst: Mittwoch 30. April 2008, 09:36
von toby
für alle die es wissen wollen: der Spaß soll unter win server 2003 funktionieren, leider nicht unter linux...

Verfasst: Mittwoch 30. April 2008, 10:02
von Leonidas
Hallo toby, willkommen im Forum,

mod_python weglassen und auf eine andere Weise Python-Skripte im Webserver starten ist keine Möglichkeit, oder?

Verfasst: Mittwoch 30. April 2008, 10:08
von toby
natürlich ist das eine möglichkeit, hatte dazu auch schon mit dem mod_webkit gespielt, allerdings würde das massiven Umbau der GUI und des Python backends fordern

allerdings wenn dir da eine schöne Möglichkeit einfällt probier ich das gerne aus
wichtig wäre eben: Fähigkeit Daten über http request mit post zu übertragen

fastcgi fällt in soweit weg, wir hatten uns eben damals für mod_python entschieden, weil der Server doch hochfrequentiert ist und dann mod_python die performantere Lösung darstellte, das Problem ist jetzt erst aufgetaucht nachdem die 32bit varianten der Datenbank weggefallen sind

Verfasst: Mittwoch 30. April 2008, 11:00
von Leonidas
toby hat geschrieben:natürlich ist das eine möglichkeit, hatte dazu auch schon mit dem mod_webkit gespielt, allerdings würde das massiven Umbau der GUI und des Python backends fordern
Webkit und Wabware kannst du getrost vergessen.
toby hat geschrieben:allerdings wenn dir da eine schöne Möglichkeit einfällt probier ich das gerne aus
wichtig wäre eben: Fähigkeit Daten über http request mit post zu übertragen

fastcgi fällt in soweit weg, wir hatten uns eben damals für mod_python entschieden, weil der Server doch hochfrequentiert ist und dann mod_python die performantere Lösung darstellte, das Problem ist jetzt erst aufgetaucht nachdem die 32bit varianten der Datenbank weggefallen sind
Wieso fällt das FastCGI/SCGI weg? Ich kann wunderbar mittels FastCGI HTTP GET und POST nutzen. Als Alternative gäbe es noch mod_wsgi, da es sowieso sinnvoll istauf WSGI aufzusetzen kann man mod_fcgid und mod_wsgi ohne größere Probleme gegeneinander auswechseln.

Verfasst: Mittwoch 30. April 2008, 11:20
von toby
mh, warum eigentlich nicht
danke

Verfasst: Freitag 16. Mai 2008, 14:42
von toby
Hi,

muss nochmal nerven.
Habe das jetzt auf cgi umgebaut, allerdings bleibt ein Problem. Bei meinem Datenbankugriff erhalte ich ein Datenstring im base64 Format, dieser wird für spätere Anfragen zwischengespeichert. Allerdings wird der irgendwo zerstört und funktioniert nicht mehr richtig.
Wo könnte das Problem liegen?


form = cgi.FieldStorage()

result = ...(form["prevResult"].value,...)


Gruß

Toby

Verfasst: Freitag 16. Mai 2008, 16:26
von lunar
toby hat geschrieben:Wo könnte das Problem liegen?
Erwartest du wirklich, dass man darauf angesichts der ziemlich dürftigen Informationen eine sinnvolle Antwort geben kann?

Im Übrigen ist CGI keine sinnvolle Alternative. Du hättest lieber gleich werkzeug oder paste genutzt, um die Anwendung über WSGI laufen zu lassen. Das hätte dir von FastCGI bis zu mod_wsgi viele Möglichkeiten eröffnet...

Verfasst: Freitag 16. Mai 2008, 17:22
von toby
naja, das Problem ist, das das Skript nunmal nicht mehr macht, alles andere funktioniert ja
Das prevResult ist der base64 string, der wird beim aufruf einer methode an die DB übergeben. Der string kommt aus dem FieldStorage value über den key prevResult, und dabei scheint er irgendwie kaputt zu gehen.
Ich weiß nicht, was du an weiteren Infos erwartest, in den zwei Zeilen tritt nun mal der Fehler auf und der aufruf besteht nun mal nur aus diesen zwei Zeilen, der Rest ist der DB Aufruf und der ist getestet.
Zurück gebe ich den ganzen Spaß über ein print cgi.escape(...) oder einfach nur print(...), macht beides nicht mit.

Und zu fcgi gibt es auch keine sinnvolle AMD64 Lösung für server 2003 und ich hab schlicht keine Lust mehr mich weiter damit rumzuschlagen...

Verfasst: Freitag 16. Mai 2008, 21:30
von Leonidas
toby hat geschrieben:Und zu fcgi gibt es auch keine sinnvolle AMD64 Lösung für server 2003 und ich hab schlicht keine Lust mehr mich weiter damit rumzuschlagen...
Man kann WSGI-Programme genausogut auch als CGIs laufen lassen.