Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatischer Task PHP

Einklappen

Neue Werbung 2019

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

  • Automatischer Task PHP

    Hallo Zusammen,

    ich habe folgendes Problem. Ich bin dabei eine Webseite zu Programmieren die so ähnlich funktioniert wie eine Cent Bids Seite.

    Für Alle die nicht wissen wie so etwas funktioniert:
    Auf einer Cent Bid Seite gibt es verschiedene Artikel und einen Countdown der nach unten gezählt wird. Jedesmal wenn ein Nutzer bietet wird der Countdown um 10 Sekunden erhöht und der Preis steigt um 1 Cent.
    Soweit habe ich das alles auch geschafft. Also aktuell liegen meine artikel mit Preis und Countdown in einer MySql Datenbank und sobald ein Nutzer mit einem Artikel durch klicken eines Buttons interagiert steigt der Preis des Artikels um einen Cent und der Countdown erhöht sich.

    Soweit so gut!

    Nun stehe ich vor folgendem Problem:
    Ich möchte das es möglich ist das Nutzer auch Automatisch auf einen Artikel bieten können. Also das Sie eine bestimmte Zahl an geboten eingeben können die dann für Sie automatisch geboten wird sobald der Countdown eines Artikels am ablaufen ist.
    Das Problem hierbei ist nun ich weiß nicht wie dieser Task automatisch geschehen soll. Schließlich kann es auch sein das Sich in diesem Moment niemand auf der Seite befindet.

    Falls ihr noch mehr Infos benötigt werde ich Sie euch gerne geben. Würde mich über Hilfe sehr freuen.



  • #2
    das könnte ein cron-job erledigen, der passend zu deiner Verlängerung alle 10 Sekunden ausgeführt wird - das Script wird dann wie vom Command-prompt gestartet >php -f somefile.php
    Achtung die Pfade ändern sich dadurch ... und noch einiges anderes beachten ... http://php.net/manual/de/features.commandline.php

    Arbeitsweise ..
    Datenbank abfragen, nach Benutzern mit Automatik-Gebot
    die in einer Schleife verarbeiten
    Datenbank ändern, Anzahl Gebote reduzieren, Preis erhöhen, neue Gebotsdauer schreiben ..
    usw.


    wobei das mit der Schleife nur nötig ist, solange es mehr als EINEN Automatik-Bieter gibt .. wenn das nur einer ist - hat der doch per default gewonnen, sobald kein aktiver Benutzer das Gebot noch erhöht - also musst du dir eine geeignete Abbruch-Bedingung bauen, nicht das der Automatik-Bieter sinnlos seine ganzen Gebote verpulvert (obwohl das vielleicht gut für dich wäre
    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

    Kommentar


    • #3
      Hallo Eagle275,

      vielen dank für deine Antwort. Ich werde es mal probieren

      Kommentar


      • #4
        Lieber ein Daemon als ein Cron-Job, der Sekundengenau ausgeführt wird. Oder der User initiiert die ganze Aktion und mittels Websocket wird das an andere User verteilt.
        [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

        Kommentar


        • #5
          Hast du eine Beispiel für einen Daemon? Also kannst du mir die Technik dahinter erklären?

          Kommentar


          • #6
            zB ein Script das am Server permanent (im Hintergrund läuft.. quasi eine Art Service ...
            Dazu gibts viel Google .. zB http://kvz.io/blog/2009/01/09/create-daemons-in-php/ (einer der ersten Treffer, muss jetzt kein PHP-Script sein)
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar

            Lädt...
            X