Desktop Tool (Curl HTTP Aufrufe) für OS X / Windows (Erledigt)



  • Hi,

    wir haben auf den Server PHP Scripts, um Daten zu berechnen. Diese rufe ich bei mir lokal unter OS X normal via curl auf, z.B:

    curl http://www.meine-domain.de/scripts/calculate.php?type=categories

    In der Konsole sehe ich nun direkt den Output von Curl (also dass was das PHP Script mir auch im Browser anzeigen würde. Arbeite dort mit echo) und sehe wenn der Durchlauf fertig ist. Das ganze möchte ich nun in einer Desktop Software haben (Bequemer das ganze aufzurufen). So nen Durchlauf eines Scripts kann auch mal 20min dauern.

    Es gibt eine Konfigurationsdatei (config.txt), die alle möglichen Curlaufrufe enthält, z.B.

    Kategorien;http://admin:pass@www.meine-domain.de/scripts/calculate.php?type=categories
    Hersteller;http://admin:pass@meine-domain.de/scripts/calculate.php?type=producer
    Produkte;http://www.meine-domain.de/scripts/calculate.php?type=products

    Beim Starten des Tools, gibt es eine Listbox, wo alle Aufrufe angezeigt werden (Kategorien, Hersteller, Produkte, ....)

    Dann gibt es zwei Buttons "Starten", "Abbrechen" und ein Textfeld.

    Grober Aufbau wie hier: http://img25.imageshack.us/i/curlscreen.jpg/

    Wenn man Starten klickt, soll er das Textfeld leeren und den Aufruf via Curl aufrufen (kein normaler HTTP Aufruf, sondern wirklich über Curl, wobei ich mich Frage ob das nicht das gleiche ist? Eigentlich ja schon?). Alles was mir das Curl in der Konsole zeigen würde, soll er mir nun im Textfeld anzeigen (Quasi immer wenn neue Daten kommen). Am besten automatisch immer mit nach unten Scrollen. Dadurch das im PHP Script ein flush() drinnen ist, werden permanent neue Daten angezeigt, die auch permanent in dem Textfeld angezeigt werden müssten. Es bringt nix, wenn das Script 20min läuft, ich 20min einen Regenbogen haben (kommt bei bei OS X, wenn er lädt. Ich glaub bei Windows ist es eine Sanduhr) und am Ende kommt der output. Ich weiß nicht ob das geht! Das Ding sollte nicht die CPU auf 90% bringen.

    Wenn er durchgelaufen ist, soll eine Meldung kommen. Eine Uhr, also wie lange der Aufruf schon läuft, soll mit rein. Also reiner Text im Format H:i:s. Wenn ein Aufruf grad am laufen ist, sollte man natürlich keinen weiteren Starten können, also je nach Status die jeweiligen Buttons passend enablen/disablen.

    --

    Das Probleme sehe ich bei den Curl Aufruf, ich weiß nicht ob das geht. Ich vermute man müsste mit Libcurl (http://curl.haxx.se/libcurl/) arbeiten. Ich weiß aber nicht, ob man die Daten, die mein PHP Programm anzeigt, abfragen kann und im Textfeld anzeigen kann.

    --

    Dann muss das Tool unter Windows (Dazu soll nicht extra .NET installiert werden müssen) und unter OS X laufen. Ich bräuchte, dass jeweils kompiliert und zur Archivierung den Quellcode. Ohne Installationsprogramm!.

    Die erste Frage wäre ob sich das realisieren lässt und die zweite Frage ist, ob das für mich programmieren könnte und ca. einschätzen kann wie der Aufwand dafür ist. Die Arbeit wird natürlich bezahlt!



  • Klingt so, als ließe sich uU. hurl als Basis für sowas benutzen.

    http://github.com/defunkt/hurl


Anmelden zum Antworten