[Python-de] Hilfe bei Threads

Bernd Will bernd at ewill.de
Die Aug 1 22:43:39 CEST 2006


Hallo,

 

folgendes Szenario:

 

Ich möchte gerne einen Hauptprozess haben, der periodisch alle 60 Sekunden
eine Liste von Threads startet. Diese Threads machen server-pings,
traceroutes, loggen sich in Datenbanken ein und setzen selects ab oder
fragen die Anzahl an ungelesenen Nachrichten auf einem IMAP-Postfach ab.
Diese Threads sollen je ein zugeordnetes Python-Script als execfile oder
eval oder popen ausführen (jeder Thread startet sein eigenes Script). Der
Job der Threads und der Scripte besteht darin, dem Hauptprozess jeweils ein
Ergebnis (=Zahl) zurückzuliefern. Die Auswertung was die Zahl bedeutet macht
der Hauptprozess. Die Python-Scripte sind also reine Datenbeschaffer. Die
Trennung zwischen Hautprogramm und Python-Scripten soll dazu dienen, dass
der Anwender mit einem Python-Interpreter neue Abfragen in Form von neuen
Scripten erstellen und testen kann ohne den Hauptprozess zu kennen und
einbauen kann. Ausserdem möchte ich gerne beide Teile (Datenbeschaffung und
Auswertung bzw. Speicherung) voneinander getrennt halten.

 

a)       Gibt es irgendwo im Internet Infos über die Übergabe von Daten
zurück an den Hauptprozess von Threads (ich würde gerne Queues nehmen, aber
dadurch dass diese Python-Scripte als execfile o.ä. gestartet werden ist ja
keine direkte Rückgabe zum Thread oder Hauptprozess möglich … oder doch) ?

 

Wenn die Lösung mal funktioniert möchte ich sie gerne anderen Kollegen
anbieten. Nun möchte ich dazu den Serverteil (Hauptprozess) gerne mit py2exe
als standalone compilieren, so dass die Kollegen von Python und dem
Hauptprozess nicht wissen müssen ausser wie sie ihn starten. Jetzt ist aber
das Problem, dass diese zur Laufzeit eingelesenen und interpretierten
Python-Scripte (die sie selber schreiben sollen und die ihnen die
Datenabfragen machen sollen) womöglich „import“-Aufrufe von Klassen machen,
die nicht bei der py2exe-Distribution dabei ist. Meine blauäugige Idee war,
ähnlich wie bei Blender.org eine Python-Interpreter miteinzubauen bzw.
mitauszuliefern. Die kriegen das ja auch hin. Aber wie macht man das ? Gibt
es hier ein Beispiel oder Tutorial ?

 

b)       Wie erreicht man es, dass die parallel laufenden Threads beliebige
Python-Scripte ausführen können, wobei nur der bei py2exe enthaltene
Python-Teil mitausgeliefert werden soll (oder muss der Anwender besser
Python komplett installieren …) ?

 

Fragen über Fragen .

 

Vielen Dank im Voraus für Eure Hilfe !

Bernd

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://starship.python.net/pipermail/python-de/attachments/20060801/c030e6a1/attachment.html


More information about the python-de mailing list