Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Job Server

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Job Server

    Also mein Ziel ist es, bestimmte jobs aus einer Datenbank (mit timestamp, wann sie ausgeführt werden sollen) im entsprechenden Moment auszuführen. (Und ich möchte ungern Lösungen die darauf abzielen, dass es so aussieht als ob das so passieren würde, da es alles zu kompliziert machen würde, bei einfachen Sachen mache ich es so)
    Ich möchte also in einem php Script einen Job aufgeben können (in verbindung mit dem Auftrag in der Datenbank), der dann zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt wird.
    Cronjobs gehen nicht, weil ich nicht regelmäßig prüfen will, ob was zu machen ist.
    Ich hätte also gerne einen Server (am besten in C/C++ wegen der Perforamance) der das für mich regeln kann, hab aber bisher noch nichts brauchbares finden können. (Es reicht wenn der Server für Linux ist)
    Fatal Error: Windows wird gestartet

    Wie administriert man ein Netzwerk: Beispiel


  • #2
    Und warum postest du das (als fortgeschrittener) im PHP Einsteiger Forum, wenn du es in C/C++ haben willst?
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      wenn das hier der falsche Bereich ist, entschuldige ich mich hierfür, war schon länger nicht mehr hier. Suche ja eigentlich nur nach einem Namen einer Software, der ja vielleicht auch total bekannt ist und ich einfach nur zu doof gewesen bin ihn beim googeln zu finden.
      Fatal Error: Windows wird gestartet

      Wie administriert man ein Netzwerk: Beispiel

      Kommentar


      • #4
        Zitat von Unlikus Beitrag anzeigen
        Ich möchte also in einem php Script einen Job aufgeben können (in verbindung mit dem Auftrag in der Datenbank), der dann zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt wird.
        Zitat von Unlikus Beitrag anzeigen
        Cronjobs gehen nicht, weil ich nicht regelmäßig prüfen will, ob was zu machen ist.
        Du willst einen Job, der zu einer bestimmten Zeit ausgeführt werden soll, willst aber gleichzeitig nicht ständig nachschauen, ob es was zu tun gibt...
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          ja ich sehe ein, dass man wohl nicht darum herumkommen kann, aber das Programm was immer nachguckt soll dann eben möglichst perforant sein und ein cronjob der ein php script aufruft ist das eher nicht
          Und (weiß gerade nicht so genua) geht das auch nicht häufiger als alle 5 Minuten
          Fatal Error: Windows wird gestartet

          Wie administriert man ein Netzwerk: Beispiel

          Kommentar


          • #6
            aber das Programm was immer nachguckt soll dann eben möglichst perforant sein und ein cronjob der ein php script aufruft ist das eher nicht
            Woher nehmt ihr eigentlich immer solche Weisheiten?

            Sorry, aber dann frag doch wirklich bitte in einem Forum, wo eine "performantere" Sprache als PHP diskutiert wird und nicht hier, wenn du ja schon weisst, das PHP zu langsam ist
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              naja ich habe mir gedacht, dass mein Problem beim Programmieren von Webapplikationen (meist in php) häufiger auftritt und man dafür eben auch Lösungen hat.
              Problem bei php ist einfach, dass ich Sripte so ohne weiteres nicht ewig laufen lassen kann, was ich für meinen Jobserver eben brauche. Und ich kann einem laufenden php Script ja dann auch nicht mehr so leicht informationen zukommen lassen ohne es aufzurufen.
              Fatal Error: Windows wird gestartet

              Wie administriert man ein Netzwerk: Beispiel

              Kommentar


              • #8
                Zitat von Unlikus Beitrag anzeigen
                Problem bei php ist einfach, dass ich Sripte so ohne weiteres nicht ewig laufen lassen kann, was ich für meinen Jobserver eben brauche.
                Du kannst ein PHP-Script genauso gut als Daemon laufen lassen, wie ein kompiliertes C/C++ Programm.

                Zitat von Unlikus Beitrag anzeigen
                Und ich kann einem laufenden php Script ja dann auch nicht mehr so leicht informationen zukommen lassen ohne es aufzurufen.
                Du kannst einem PHP-Script genauso gut Informationen zukommen lassen, wie einem kompiliertem C/C++ Programm.
                Zitat von nikosch
                Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                Kommentar


                • #9
                  //OT:

                  da wären wir wieder bei dem problem der harten echtzeit, und das diese jobs, wie beispielsweise die zahl der mails in der inbox aus zu lesen halt auf die milisekunde genau ausgeführt und beendet werden sollen.

                  sonst ist eben eine mail zu viel drin, und ich wundere mich, dass mir einer schreibt.

                  eben deswegen w8ill haölt der TE einen demand an execute monitor, aber eben keiner der ewig läuft. ja, das erste problem ist schon mal da, können nicht scripte ähnlich wie mein rechner ein wake up on demand (vgl. wakeuponlan) machen?

                  doch können sie.

                  nur wie löse ich das?

                  so Unlikus, um es mal kurz zu umreissen, deine armbanduhr ist super, zum codeknacken reicht sie eher nicht. auch dein auto kann sie nicht steuern, da hilft auch keine so hochperformate programierung.

                  deswegen,

                  was willst du genau (achja stichworte für die grosse suchmaschine), und wieso ist das alles zu unperformat?

                  Kommentar


                  • #10
                    gut das mit dem unperformant ist eher eine Vermutung, da scriptsprachen nun mal prinzipiell langsamer sind. Aber eine Aussage kann man natürlich erst im Produktivbetrieb machen.
                    Also würdet ihr das ganze mit php machen, (entsprechend den timeout aussetellen) und dann jede sekunde prüfen? Und wie würde man am einen neuen Job an dieses php script geben. Datei, Datenbank, socket (hab davon leider keine Ahnung)
                    Fatal Error: Windows wird gestartet

                    Wie administriert man ein Netzwerk: Beispiel

                    Kommentar


                    • #11
                      Also bei Laravel wird es tatsächlich so gemacht, dass jede Minute ein Skript aufgerufen wird, dass prüft, ob etwas zu tun ist. Wenn es nichts zu tun gibt, ist die ganze Sache innerhalb weniger Millisekunden erledigt, ansonsten wird der Job eben ausgeführt.

                      Kannst du hier mal reinschauen:
                      https://github.com/indatus/dispatcher

                      Kommentar


                      • #12
                        also jede Minute ist bei mir zu langsam, müsste schon jede Sekunde passieren und ich glaube da wird so ein Ansatz glaube versagen. Da php bei einem normalen reuqest doch schon recht viel macht, was ich in dem Fall einfach nicht brauche.
                        Fatal Error: Windows wird gestartet

                        Wie administriert man ein Netzwerk: Beispiel

                        Kommentar


                        • #13
                          Also ein Unix kann schedulen (auf ein paar ms gebau), sogar eine MySQL-Datenbanl kann das. Was willst du noch mehr?
                          GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

                          Kommentar


                          • #14
                            Was hast du den vor das du eine Auflösung von einer Sekunde brauchst?

                            Kommentar


                            • #15
                              Es ist ein Game, indem man bestimmte Prozesse starten kann, die dann eben auch zu genau dem Zeitpunkt in dem sie beendet werden ausgeführt, werden müssen und mehr als eine Sekunde tolleranz habe ich nicht.
                              Halte es nicht für sinnvoll einfach ein sleep(3000000) zu machen, weil mir das bei vielen gleichzeitigen Aufträgen meinen Abreitsspeicehr vollhauen würde. Eshalb ja so eine art jobserver, der das für mich erledigt.
                              Ob das jetzt eine php datei, ein server in C/C++ ist, oder auch nur ein bashscript ist mir egal, hauptsache es braucht nicht zu viel CPU und RAM.
                              Fatal Error: Windows wird gestartet

                              Wie administriert man ein Netzwerk: Beispiel

                              Kommentar

                              Lädt...
                              X