Ankündigung

Einklappen
Keine Ankündigung bisher.

Warteschlange (mysql und vlt Websocket)

Einklappen

Neue Werbung 2019

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

  • Warteschlange (mysql und vlt Websocket)

    Hallo, ich möchte gerne eine Warteschlange in ein Interface bauen weis aber nicht wie ich das am perfomantesten machen kann.

    Aktuell habe ich ein Webinterface, bei dem man einen Service für 1- 6 Stunden mieten kann. Jedoch habe ich immer nur begrenzte Lizenzen für diesen dienst. Diese Lizenzen sind in einer MYSQL Datenbank abgespeichert und in der spalte 'used' wird abgespeichert ob diese Lizenz zum vermieten freigegeben ist (0= frei / 1 = Belegt) wenn alle Lizenzen weg sind wird man in eine Warteschlange gesetzt (mit e-mail (die im cookie gespeichert ist) und timestamp um das dann nach der reihe zu sortieren).
    Wenn jetzt z.B. 10 Leute in der Warteschlange sind und 1 Lizenz frei wird, dann soll der 1. der in der Warteschlange war eine Benachrichtigung erhalten (push notification) wo er 10 Minuten zeit hat dies zu bestätigen um diese Lizenz zu bekommen ansonsten wird es an den nächsten weiter gegeben.

    Während der kompletten Wartezeit soll die aktuelle Warteschlangen Position angezeigt/aktualisiert werden.

    Das ist meie aktuelle Warteschlangentabelle:
    Code:
    CREATE TABLE IF NOT EXISTS `mb_wait` (
    `ID` int(255) NOT NULL,
      `user` varchar(255) NOT NULL,
      `waitid` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `ip` varchar(155) NOT NULL,
      `port` int(11) NOT NULL,
      `dauer` int(11) NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
    Werde aber soweit ich weis noch einen Timestamp hinzufügen, der dann die Zeit anzeigt ab wann die 10 minuten gelten.

    In einem anderen Forum haben leute gemeint, das mit einem Websocket zu machen. aber ich steig da irgenwie gar nicht durch.

    ~Andre

  • #2
    Und weil du es nicht verstehst denkst du dir das hier andere Ergebnisse kommen?

    Wenn die Wurzel aus 25 als Resultat +-5 ergibt, dann ist dies das Ergebnis auch in Australien und Bolivien, da muss man nicht noch woanders fragen nur weil man Wurzelziehen nicht im Matheunterricht hatte.

    Multipost zu http://phpforum.de/forum/showthread.php?t=284242

    Kommentar


    • #3
      Sorry, aber kleiner Einspruch meinerseits.

      Die Anfrage existiert auch auf phpforum.de als „Jobangebot“: http://phpforum.de/forum/showthread.php?t=284251

      Die Anfrage dort blieb nur vermutlich bislang ohne Ergebnis. Da sehe ich jetzt kein Problem, es auch anderswo zu versuchen.

      Ich habe es ansonsten in dem ersten Thread drüben schon angedeutet: Die Fragestellung/Problembeschreibung ist meines Erachtens zu unkonkret oder ergibt zumindest vom beschriebenen Konzept her nicht so besonders viel „Sinn“ aus Lesersicht. Ich könnte etwa spontan zwei oder drei Punkte ansprechen, die vom Konzept her seltsam sind oder nicht so richtig durchdacht wirken. (Etwa: Wer hängt stundenlang in einer Warteschleife, um dann völlig unvorhersehbar vielleicht um 4 Uhr nachts einen Slot zu bekommen? Was passiert, wenn 50 Leute in der Warteschlange hängen und alle ihre Slots nicht wahrnehmen? Dann ist das System blockiert? Und die Leute, die sich während der Zeit anmelden, kommen dann erst zu einem Zeitpunkt dran, zu dem sie auch schon nicht mehr interessiert sind (oder schlafen), wodurch sich die Blockade immer weiter fortsetzt. Worum geht es eigentlich genau?)

      Aus Sicht eines Helfers oder auch Dienstleisters klingt das nach sehr viel Aufwand allein noch auf Planungsebene. Eine angemessene Entlohnung ist dafür sicherlich auch nicht vorgesehen.

      Das ist einfach auf keiner Ebene irgendwie verlockend. Deshalb wird sich wahrscheinlich niemand melden.

      So schätze ich das zumindest ein. Wie man das „besser“ präsentieren könnte, weiß ich leider ohne weiteren Kontext auch nicht. Manchmal ist das Missverhältnis aus Erwartung und realistischer Erfüllbarkeit vielleicht einfach zu groß.

      Edit: Das soll übrigens überhaupt nicht kritisch gemeint sein oder so. Vielleicht schätze auch ich es ganz falsch ein.

      Kommentar


      • #4
        Zitat von Hubsi7 Beitrag anzeigen
        Hallo, ich möchte gerne eine Warteschlange in ein Interface bauen weis aber nicht wie ich das am perfomantesten machen kann.

        Aktuell habe ich ein Webinterface, bei dem man einen Service für 1- 6 Stunden mieten kann. Jedoch habe ich immer nur begrenzte Lizenzen für diesen dienst. Diese Lizenzen sind in einer MYSQL Datenbank abgespeichert und in der spalte 'used' wird abgespeichert ob diese Lizenz zum vermieten freigegeben ist (0= frei / 1 = Belegt) wenn alle Lizenzen weg sind wird man in eine Warteschlange gesetzt (mit e-mail (die im cookie gespeichert ist) und timestamp um das dann nach der reihe zu sortieren).
        Wenn jetzt z.B. 10 Leute in der Warteschlange sind und 1 Lizenz frei wird, dann soll der 1. der in der Warteschlange war eine Benachrichtigung erhalten (push notification) wo er 10 Minuten zeit hat dies zu bestätigen um diese Lizenz zu bekommen ansonsten wird es an den nächsten weiter gegeben.

        Während der kompletten Wartezeit soll die aktuelle Warteschlangen Position angezeigt/aktualisiert werden.

        Das ist meie aktuelle Warteschlangentabelle:
        Code:
        CREATE TABLE IF NOT EXISTS `mb_wait` (
        `ID` int(255) NOT NULL,
        `user` varchar(255) NOT NULL,
        `waitid` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
        `ip` varchar(155) NOT NULL,
        `port` int(11) NOT NULL,
        `dauer` int(11) NOT NULL
        ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
        Werde aber soweit ich weis noch einen Timestamp hinzufügen, der dann die Zeit anzeigt ab wann die 10 minuten gelten.

        In einem anderen Forum haben leute gemeint, das mit einem Websocket zu machen. aber ich steig da irgenwie gar nicht durch.

        ~Andre
        Wenn du Interface als Schlüsselwort meinst, so ist das nicht möglich. Denn erst einmal ein Interface ist nur eine Vereinbarung, das eine gewisse Klasse zusichert das sie über eine Funktion (ggf. mit Parmetern) verfügt. Unabhängig davon ob sie auch das erfüllt was der Funktonsname aussagt.

        Soweit ich es verstanden habe, würd ich dir auch zu einem Websocket raten.

        Aber was genau willst du jetzt von uns erfahren?

        Kommentar


        • #5
          Zitat von mermshaus Beitrag anzeigen
          Aus Sicht eines Helfers oder auch Dienstleisters klingt das nach sehr viel Aufwand allein noch auf Planungsebene.
          Ich sehe nicht wo es viel Arbeit sein sollte, bitte um Erklärung.

          Kommentar


          • #6
            Steht in dem Beitrag, aus dem du das Zitat hast…

            Mit „Webinterface“ meint Hubsi7 übrigens offensichtlich nicht das Konzept aus manchen Programmiersprachen. Er spricht von einer Benutzerschnittstelle in Form einer Webseite.

            Kommentar


            • #7
              Dieses hab ich wohl verstanden. Lesen soll manchmal helfen.

              Kommentar


              • #8
                Hör mal auf mit diesen alternativen Fakten bitte.

                Beitrag #4:

                Zitat von Abo
                Wenn du Interface als Schlüsselwort meinst, so ist das nicht möglich. Denn erst einmal ein Interface ist nur eine Vereinbarung, das eine gewisse Klasse zusichert das sie über eine Funktion (ggf. mit Parmetern) verfügt. Unabhängig davon ob sie auch das erfüllt was der Funktonsname aussagt.
                * * *

                Ich kann aber das eine konzeptionelle Problem, das ich ausgemacht zu haben glaube, noch mal etwas ausführen:

                Wir haben 10 Slots, die jeweils für eine Dauer von 1-6 Stunden lang mietbar sind. Danach gibt es eine Warteliste, die beim Freiwerden eines Slots der Reihe nach abgearbeitet wird. Jeder Eintrag auf dieser Liste hat 10 Minuten Zeit, zu reagieren, sonst verfällt sein Anspruch.

                Dazu folgendes Szenario. Alle 10 Slots sind für genau die nächsten 3 Stunden belegt. Dahinter gibt es eine Warteliste mit 15 Einträgen, die auch alle für 3 Stunden reservieren wollen. Ob diese Personen aber innerhalb von 10 Minuten ihren Slot wahrnehmen werden, ist nicht bekannt. Ich selbst stehe an Position #16 der Warteliste.

                Einfache Frage dazu: Wann werde ich meinen Slot bekommen?

                Kommentar


                • #9
                  mermshaus Wie ich eben schon erwähnte: Lesen sollte man können.

                  Zitat von Abo Beitrag anzeigen
                  Soweit ich es verstanden habe, würd ich dir auch zu einem Websocket raten.
                  Also zeige mir die alternativen Fakten. Also bitte ich dich verschone uns mit deinen Angaben.

                  Kommentar


                  • #10
                    *Augenbraue hochzieh*

                    Kommentar


                    • #11
                      Zitat von Abo Beitrag anzeigen
                      Dieses hab ich wohl verstanden. Lesen soll manchmal helfen.
                      Eben. Dann wäre dein erster Satz aber vermutlich nicht zustande gekommen.
                      [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

                      Kommentar


                      • #12
                        Abo: Hier wollte Dir keiner was böses, entspann Dich bitte.
                        Klärt das ansonsten bitte per PN, danke...
                        Competence-Center -> Enjoy the Informatrix
                        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                        Kommentar


                        • #13
                          Zitat von Arne Drews Beitrag anzeigen
                          Abo: Hier wollte Dir keiner was böses, entspann Dich bitte.
                          Klärt das ansonsten bitte per PN, danke...
                          Arne Drews Leider kann ich dir keine PM schicken. Ich hab dieses auch nicht böese aufgefasst. Falls du meine Äußerung als Böse gemeint aufgefasst hast, so tut es mir leid. Ich hab in meinem ersten Post zu diesem Thread 2 Alternativen aufgestell - getrennt durch einen Absatz. Hierauf wollt ich nur hinweise, da mal wieder (dieses ist nicht böse gemeint) nur halbswegs gelesen wurde.

                          Kommentar


                          • Arne Drews
                            Arne Drews kommentierte
                            Kommentar bearbeiten
                            Danke für den Hinweis, bin mir nicht bewusst, PNs gesperrt zu haben. Schaue ich mal nach...

                        • #14
                          *andere Augenbraue hochzieh*

                          Edit: @Abo:

                          Der Vorwurf, dass andere Leute (insbesondere ich) nicht richtig lesen würden, kam jetzt in den zwei Threads, in denen wir bisher beide gepostet haben, ungefähr… fünfmal? Dabei bist es eigentlich bloß du, der nicht richtig liest. Das ist aber nicht der Fehler anderer Leute, okay? Es ist aus „unserer“ Sicht aber nun mal sinnvoll, auf so was hinzuweisen, weil sich Threads sonst in die falsche Richtung entwickeln und Fragesteller es mit Ansätzen versuchen, die zum Scheitern verurteilt sind. Das bringt niemandem was und verbraucht nur unnötig Zeit. Cross-Joins waren im anderen Thread kein adäquater Lösungsansatz, und hier ging es Hubsi7 auch sehr eindeutig erkennbar nicht um Interfaces im Sinne des Konstrukts in Programmiersprachen. Das hast du offensichtlich falsch gelesen. Das ist ja auch überhaupt nicht schlimm oder ehrrührig oder so. Du bist der Einzige, der daraus eine große Sache macht. Nervig wird es dann eben dadurch, dass du die Hinweise nicht nur nicht annimmst, sondern dass du sogar noch – öffentlich – abwertende und falsche Vorwürfe gegen die Überbringer erhebst. Wir sind hier alle echte Menschen, die es nicht gern sehen, ungerechtfertigt beschuldigt zu werden, und die sich dann teilweise auch zu einer Gegendarstellungen wie dieser genötigt sehen.

                          Wir haben jetzt in diesem Thread völlig unnötigerweise an die 10 Posts produziert, die überhaupt nicht zielführend im Sinne des Themas des Threads sind. Du hättest dir die Beiträge #4 und #5 einfach sparen können. Der inhaltliche Gewinn dieser Beiträge liegt bei quasi Null.

                          Kommentar

                          Lädt...
                          X