Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Script ständig aktiviert lassen

Einklappen

Neue Werbung 2019

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

  • PHP Script ständig aktiviert lassen

    Hallo Zusammen,

    ich habe mir vor kurzem ein PHP-System heruntergeladen, was bei mir auf dem Server 24/7 läuft.
    Es ist ein Rank-System. Ich habe mir mal den SC angeguckt und aus meiner Sicht nicht wirklich Dinge gefunden, die mir anzeigen, dass dort das Script ewig online bleibt.

    Dieses System prüft die Online-Zeit der Teamspeak-User und speichert diese dann in der DB. Nach gewissen Zeiten bekommt man dann einen Rang zugewiesen. → Level. Bis hierher ja alles logisch.

    Jedoch hat mich schon bei der Installation gewundert, dass das Script nur hochgeladen werden musste und dann installiert werden musste. Alles auf PHP-Basis (meines Erachtens).

    Nun brauche ich für ein kleines System, welches fast so laufen soll (von der Aktivität her), wie der Ranking-Bot.

    Daher meine Frage: Gibt es die Möglichkeit, dass ich ein PHP-Script ständig am Laufen lasse?

    Ich habe damit folgendes vor: Sobald eine Änderung in dem jeweiligen Web-Bereich passiert, soll der User eine Nachricht...
    • Wenn er online ist: Direkt bekommen
    • Wenn er offline ist: Beim nächsten betreten
    Keine Sorge: Jeder Client hat ja eine UUID, die bereits in meiner DB hinter jedem User zugeordnet ist. Wie die Nachricht ausgeführt wird ist auch klar. Der Online-Check ist ja auch klar.

    Ich würde folgenden Ansatz wählen:
    Sobald der Client nicht online ist, wird er auf die "Warteliste" gesetzt.
    Sobald ein User den TS-Server betritt wird diese Warteliste geprüft, ob er dort einen Eintrag hat, oder nicht.
    Wenn ja, dann wird diese Nachricht gesendet und der Eintrag wird gelöscht.
    Wenn nicht, wartet der "Bot"/das Script auf den nächsten User bzw. auf die nächste Aktivität.

    → Dieser Bot darf halt nie offline gehen!

    Ich brauche nur eine Lösung, dass dieses Script auch läuft, wenn der Client offline ist.

    Geht das ganze auch ohne Cronjob?

    Grüße
    Ben

  • #2
    PHP ist nicht gemacht für langlaufende Prozesse. Da eignen sich andere Programmiersprachen deutlich besser für.
    Im Grunde bestehen diese "Endlos" laufende Skripte aus einer Endlosschleife.

    PHP-Code:
    while(true) {
    // mach irgendwas

    Kommentar


    • #3
      Sobald der Client nicht online ist, wird er auf die "Warteliste" gesetzt.
      Sobald ein User den TS-Server betritt wird diese Warteliste geprüft, ob er dort einen Eintrag hat, oder nicht.
      Wenn ja, dann wird diese Nachricht gesendet und der Eintrag wird gelöscht.
      kann das nicht das selbe programm machen, welches den CLient/user als online offline klassifiziert ?
      ich blicke nicht ganz durch weas du vorhast, kannst du mitr das nochmal erklären ?
      was für ein job hat der raspi bpw.

      was du suchst scheint irgendwie ein demand and execute monitor.

      Kommentar


      • #4
        Cronjobs sind auch ganz gut kombinierbar mit php-Prozessen
        bitcoin.de <- Meine Freelancerwährung

        Kommentar


        • #5
          Ok, ich erkläre nochmal kurz. Kann ja sein, dass ich mich schwierig ausgedrückt habe:
          1. Es wird das Signal ausgelöst, dass der Client benachrichtigt wird
          2. Es wird geprüft, ob dieser online ist (Teamspeak)
            1. Wenn ja, dann wird er sofort angeschrieben
            2. Wenn nein, dann kommt diese Nachricht auf die "Warteliste" (DB)
          3. Sobald ein Client den Teamspeak betritt wird geprüft, ob dieser in der Warteliste ist
          4. Wenn ja, dann werden die Nachrichten ausgegeben
          5. Wenn nein, passiert nichts

          PHP-Code:
          while(true) {
          // mach irgendwas

          Funktioniert das nicht nur, solange ich diese Datei / Seite offen habe? Es soll ja auch funktionieren, wenn man diese Seite gerade nicht offen hat.


          Zitat von tomBuilder Beitrag anzeigen

          kann das nicht das selbe programm machen, welches den CLient/user als online offline klassifiziert ?
          Also das macht er ja, indem er prüft ob dieser online ist oder nicht. Danach wird dieser ja auf die Warteliste gesetzt (wenn offline)


          Ich brauche halt nur eine Lösung, dass dieses Script permanent 24/7 läuft!

          Kommentar


          • #6
            Zitat von Simuletsplay Beitrag anzeigen


            Ich brauche halt nur eine Lösung, dass dieses Script permanent 24/7 läuft!
            schreien bringt nichts, das stichwort für google hab ich dir bereits gegeben.
            ich übrigen bin ich der meinung, dass die lösung welche du suchst nicht das ist was du beshreibst, aber das was du beschreibst lässt sich so finden.

            Kommentar


            • #7
              Ja aber dazu hab ich wirklich nicht etwas gefunden...

              Vielleicht mal so:

              Dieser Bot bzw. das Script muss NUR gucken, wann ein Client den Server betritt. Mehr nicht!

              Kommentar


              • #8
                Zitat von Simuletsplay Beitrag anzeigen
                Ja aber dazu hab ich wirklich nicht etwas gefunden...

                Vielleicht mal so:

                Dieser Bot bzw. das Script muss NUR gucken, wann ein Client den Server betritt. Mehr nicht!
                was hast du denn so gefunden ?

                und
                wie kann der "bot" rausfinden wann dfer cleint der server betritt (schnistelle)

                Kommentar


                • #9
                  Wie soll er(der Client) denn die Nachricht erhalten?

                  Kommentar


                  • #10
                    Zitat von Simuletsplay Beitrag anzeigen
                    Funktioniert das nicht nur, solange ich diese Datei / Seite offen habe?
                    Welche Seite? Nicht jedes PHP-Script muss eine Webseite ausgeben. Man kann ein PHP-Script auch einfach so ausführen. Ganz ohne Webserver.

                    Kommentar


                    • #11
                      Zitat von Simuletsplay Beitrag anzeigen
                      PHP-Code:
                      while(true) {
                      // mach irgendwas

                      Funktioniert das nicht nur, solange ich diese Datei / Seite offen habe? Es soll ja auch funktionieren, wenn man diese Seite gerade nicht offen hat.
                      Das Skript muss natürlich über ein Hintergrundprozess gestartet/gestoppt/überwacht werden. Unter Linux meistens intit.d oder systemd usw.

                      Kommentar

                      Lädt...
                      X