Seite 1 von 1

Eingaben zur Laufzeit

Verfasst: Donnerstag 14. März 2013, 16:54
von annett
Hallo Leute!
Ich benötige mal wieder eure Hilfe. Ich möchte ein Programm schreiben, welches sich wie folgt verhalten soll.
Ein PHP-Skript ruft ein Python-Skript auf und übergibt diesem einen Kommando-String. Das Python-Skript soll nun das Kommando in einer Queue (Warteschlange) ablegen. Diese Queue wird dauernd von einem Thread durchlaufen und wenn sich Kommandos in der Queue befinden, nimmt der Thread ein Kommando aus der Queue und führt es aus.

Sinn und Zweck des Ganzen soll seien, dass viele Clients über einen Webserver bzw. über eine Website parallel Aktionen auf dem Server ausführen können. Da ich noch recht neu in der Pythonwelt bin weiß ich nicht, wie man diese Kommado-Queue am besten realisiert. Mir sind bisher nur Ansätze eingefallen, bei denen die Queue ständig in einer separaten Datei oder Datenbank gespeichert wird. Da muss es doch aber noch andere Möglichkeiten geben. Denn sonst ist der Server ja damit ausgelastet die Queue zu pflegen und das kanns ja nicht seien. Mal ganz davon abgesehen, dass elegante Programmierung auch anders geht^^.

Ich hoffe einer oder einem von euch fällt da was Besseres ein.

Viele Grüß Annett

PS: Um die Sicherheit des Ganzen braucht sich keiner Gedanken machen. Das ist nur als Demo-Projekt gedacht um zu zeigen, dass sowas überhaupt möglich ist. Es wird also in dieser Form nie in den produktiven Einsatz kommen.

Re: Eingaben zur Laufzeit

Verfasst: Donnerstag 14. März 2013, 17:16
von BlackJack
@annett: Ich würde ja erst mal bestehende Lösungen anschauen. Und dann vielleicht so etwas wie ZeroMQ oder RabbitMQ.

Re: Eingaben zur Laufzeit

Verfasst: Donnerstag 14. März 2013, 17:38
von annett
@BlackJack hast du eventuell ein Beispiel für eine bestehende Lösung parat? ZeroMQ und RabbitMQ kann bzw. will ich nicht verwenden, da die Clients in der Lage seien sollen mit dem Server zu arbeiten ohne vorher etwas anderes als den Browser installieren zu müssen.

Re: Eingaben zur Laufzeit

Verfasst: Donnerstag 14. März 2013, 18:25
von DasIch
ZeroMQ und RabbitMQ haben mit dem Browser überhaupt nichts zu tun.

Re: Eingaben zur Laufzeit

Verfasst: Donnerstag 14. März 2013, 18:53
von annett
@DasIch: Das ist mir klar. Ich habe die Websites jedoch nur überflogen und dabei der Seite von ZeroMQ mehr Aufmerksamkeit gegeben als der von RabbitMQ. Dabei war mein erster Eindruck, dass ZeroMQ für den Austausch von Messages in Netzwerken gedacht ist. Soweit so gut aber an dieser Stelle dachte ich bei RabbitMQ ist das ähnlich. Hätte ich die Augen auf der Seite von RabbitMQ besser aufgemacht dann hätte ich vermutlich schon früher bemerkt, dass RabbitMQ perfekt für den Austausch von Nachrichten zwischen Anwendungen ist und somit genau das was ich suche.

Also Nachträglich vielen Dank an BlackJack und vielen Dank an DasIch, dass du mich nochmal dazu gebracht hast mich mit der Site zu beschäftigen.

Viel Grüße Annett