Queue Daemon Prozessor

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Queue Daemon Prozessor

    Hallo,

    folgende aufgabe: in einer datenbank stehen zeilenweise datensätze die befehle für eine linux mp3 kovertiertungs-kommandotool beinhalten. ein befehl abzuarbeiten kann bis zu 3-10 min. dauern. dazu kommt das datensätze ständig hinzugefügt werden und so einen queue bilden der abgearbeitet werden muss. erst hab ich überlegt das ganze über crontab zu machen - das hat natürlich den nachteil das es keine kontinuierliche abarbeitung des queues gibt.

    eine weitere möglichkeit ist ein hintergrundprozess der endloss den queue abarbeitet. ich hab schon mal gegoogelt aber die vielen beispiele zu php daemons, etc. sind verwirrend und ich suche irgendwie einen einstieg in eine möglichst einfache lösung. der dienst muss einfach nur ständig in der datenbank suchen ob eine neuer datensatz abgearbeitet werden kann. am besten wird der dienst per linux unter cli gestartet. ich stell mir 3 flags vor 1 = new, 2 = processing, 3 = done. enstprechend der flags kann dann der dienst selber entscheiden was zu tun ist.

    hat jemand einen tip ... im lost in translation

    danke

    fra*
    Zuletzt geändert von frank7l7; 23.09.2008, 20:04.

  • #2
    Hehe ... ich habe mal sowas geschrieben ... aber in C# ... es ist ein Dienst, der ein Verzeichnis überwacht, und alles, was darein kommt, egal in welcher format, wandelt er in wmv um (mit ffmpeg) ... vieleicht sollst du sowas unter linux mal schreiben, aber doch nicht mit php ... php mag ja einfach sein, aber nicht für alles geschaffen

    Kommentar


    • #3
      hmm, .. ja möglich das php dafür nicht geeignet ist. c# kann ich leider nicht. geht den mit php da rein gar nix?

      Kommentar


      • #4
        ich weiss nicht ... denn unter windows, muss ich via winapi den ffmpeg Prozess überwachen, solange ffmpeg was macht, musst der C#-Dienst stehen bleiben, sonst kollidieren die Prozesse ... ob php im commandline das auch kann

        Kommentar


        • #5
          was hälst du davon: http://pear.php.net/package/System_Daemon. Wenn man einfach jeden Job sequentiell abarbeitet wäre das doch schon mal ein versuch wert ?!

          Kommentar


          • #6
            Ich halte generell nichts davon, denn jede Programmiersprache hat seine Stärke wie Schwäche, C++ ist nicht so gut für Web, genauso PHP nicht geeignet auf der Systemebene

            Kommentar


            • #7
              au mano ... muss ich halt c lernen

              Kommentar


              • #8
                lol, lass dich doch nicht von einer Sprache zur nächsten boxen!
                Du kannst sowas sicher mit PHP realisieren, nur was asp2php meint ist, das PHP nicht dafür ausgelegt ist, dauerhaft als Prozess im Hintergrund zu laufen. Alternativ kannst du ja auch versuchen per Cronjob jede Minute das Skript anzuwerfen und zu überprüfen, ob aktuell dein anderes Programm noch läuft, zur Not mit exec und ps. Sollte dies der Fall sein, beendest du das Skript. Sollte kein Prozess laufen, ließt du den nächsten Datensatz aus der Datenbank und schmeißt die nächste Konvertierung an.
                So kann es dir auch nicht passieren, dass dir jemand versehentlich dein Hintergrundskript abschießt.

                Kommentar

                Lädt...
                X