Twitch Box - Cach

  • Guten Mittag!


    Ich habe das Plugin darauf angepasst, dass

    • Nur Streamer angezeigt werden, welche in der Liste sind (ACP)
    • Nur Streamer angezeigt werden, welche streamen (ACP)
    • Nur Streamer angezeigt werden, welche auch in der Community sind (Selbst)

    Das Problem ist nun, dass die Cache bei einer Stunde liegt, vom CacheBuilder. Diese habe ich zwar schon verringert,
    aber die Cache des Template macht mir noch Probleme. Besteht die Möglichkeit, einen Ansatz zu erhalten, wie
    ich die Cache eines Templates verringern und gar löschen kann?


    Das ganze benötige ich, damit der Streamer nicht mehr in der Liste angezeigt wird, wenn er anfängt ein anderes Spiel/Server zu streamen.


    Gruß.

  • Die Lebenszeit des Caches ist völlig irrelevant und wird so oder so mit dem nächsten Update entfernt.
    Der Cache wird via CronJob neu erzeugt.


    Was du nun genau mit dem Cache eines Templates meinst erschließt sich mir nicht ganz, diese sind ja statisch und ändern sich nicht mehr von selbst...

  • Die Lebenszeit des Caches ist völlig irrelevant und wird so oder so mit dem nächsten Update entfernt.

    Ok! Dann warte ich wohl noch auf das Update.

    Was du nun genau mit dem Cache eines Templates meinst erschließt sich mir nicht ganz, diese sind ja statisch und ändern sich nicht mehr von selbst...

    Ja. Aber auch Templates, zumindest die compiled, werde auch gecached. Denn das ist mein einzigen Problem.
    Den Cache der Daten habe soweit auch abgestellt, aber die compiled Templates müssen immer wieder resettet werden.


    Aber wenn das sowieso alles entfernt wird ist es ok.


    Ich hätte im allgemeinen noch 2 Vorschläge!

    • Einen dritten Stil einbauen:
      Und zwar, dass die Player direkt angezeigt werden.
    • Position der Box:
      Ich habe bei mir noch eingestellt, dass die Position auch oberhalb der Box angezeigt werden kann, habe nämlich einen Slider mit den Playern erstellt.
    • Die Option einfügen, dass nur Streamer angezeigt werden, die in einem bestimmten Team/Community sind, ID der Community kann man dann im ACP einfügen.

    Wäre eine super Option!


    Danke für den Support!

  • Wiso sollten die compilierten templates denn resettet werden ?
    Das ergibt doch keinen Sinn.


    Es spielt auch für dich erst mal keine Rolle bezüglich des Caches, es wurde nur im Frontend Cache der Eintrag bezüglich der lifetime entfernt, sonst sind diesbezüglich keinerlei Änderungen vorgesehen.


    Zu deinen Vorschlägen:
    1. Wird nicht kommen innerhalb des Plugins, das macht hier in der Sidebar schlicht keinen Sinn.
    2. Das wäre dann wenn ein seperates Plugin, ob das umgesetzt wird weiß ich nicht, ich persönlich sehe hier aktuell wenig Bedarf.
    3. Eine zusätzliche Filterung ist aktuell nicht vorgesehen.

  • Wiso sollten die compilierten templates denn resettet werden ?
    Das ergibt doch keinen Sinn.

    Weil ich eben diese o.g. Punkte eben bei mir eingefügt habe. Was bedeutet, wenn ein Spieler der Community von mir beitretet er auch
    in der Liste erscheinen soll, was aber nicht geschieht, da der Cache der compilierten Templates zuschlägt. Also werden noch die alten Streamer angezeigt.


    • Deshalb auch Vorschlag Nr. 2
      Siehe: 42b74c48261865d8726352f250778894.png


    Habe ja auch alles in eurem Plugin editiert. Außer der Slider, den habe ich als 3dparty JS File eingefügt.
    Eine zusätzliche Filterung wäre aber nicht schlecht, ist ja auch kein großer Aufwand. Habe ich ebenfalls bei mir eingefügt.


    Aufgrund dessen, dass keine Filterungen existieren, dürfen auch die meisten Streamer keine anderen Server streamen, weil sie sonst im Forum
    angezeigt werden. Das habe ich durch weitere Abfragen verhindert.


    Es ist ja auch nichts negatives.


    Gruß.

  • Nochmal: Template Caches zu resetten ist absolut nutzlos.
    Das Template erhält seine Daten aus dem FileCache und dieser wird absichtlich asynchron via Cronjob aktualisiert.
    Du musst also bei Aktionen die eine änderung des Cache Inhaltes nachziehen einfach den Cronjob ausführen um die Daten zu aktualisieren, das passiert nicht von alleine.
    Wenn du dann Probleme mit Anpassungen hast die du selbst vorgenommen hast ist das, so leid es mir tut, dein Problem.


    Der zweite Vorschlag mag ja für dich wichtig sein, ist aber aktuell von uns aus nicht geplant.
    Selbiges gilt für die zusätzliche Filterung:
    Unser komplettes Plugin ist Channel basiert und daher passt es einfach nicht hier nochmals nach streamern zu filtern.

  • Wenn du dann Probleme mit Anpassungen hast die du selbst vorgenommen hast ist das, so leid es mir tut, dein Problem.

    Die Probleme liegen nicht bei den Anpassungen, sondern beim unnötigen Cachen.


    Ich bin davon ausgegangen, dass Verbesserungsvorschläge positiv ankommen.
    Aber man mag dem ganzen ja gar keine Chance geben. Echt Schade.
    Dann suche ich mir wohl einen, der dass ganze für mich erledigt.


    Bis dann. Tschüss.

  • Die Probleme liegen nicht bei den Anpassungen, sondern beim unnötigen Cachen.


    Ich habe das Gefühl, dass du @Cireyses da etwas nicht verstehst. Es wird nur eines gecached und das sind die Daten, die von Twitch zurückgegeben werden um zu vermeiden, dass bei jedem Seitenaufruf X Requests gegen die Twitch-API abgefeuert werden. Das wäre spätestens dann problematisch, wenn mehrere Leute parallel Daten abrufen lassen, da es seitens Twitch ein Limit von einem Request pro Sekunde gibt. Der Cache wird unsererseits via Cronjob erneuert, da Requests gegen externe Webseiten immer mit einer gewissen Wartezeit verbunden sind, die der Besucher deiner Seite in regelmäßigen Abständen zu spüren bekämen. Vorallem, wenn man für 50 Streamer 52 Requests durchführen muss.


    Was das Cachen von Templates angeht, so macht das nicht die Erweiterung, sondern das WCF/WSC. Wir sagen der Software lediglich, welches Template verwendet werden soll, den Rest macht das Framework selbst. Das ist zum Einen unumgänglich und zum Anderen auch nicht von Belang, da das zur Umsetzung deines Vorhabens nicht notwendig sein dürfte.


    Aufgrund dessen, dass keine Filterungen existieren, dürfen auch die meisten Streamer keine anderen Server streamen, weil sie sonst im Forum
    angezeigt werden.


    Ich muss gestehen, dass ich absolut keine Ahnung habe, wovon du hier redest.


    Ich bin davon ausgegangen, dass Verbesserungsvorschläge positiv ankommen.
    Aber man mag dem ganzen ja gar keine Chance geben. Echt Schade.


    Fakt ist, dass du sämtliche Freiheiten hast, dir die Erweiterung für deine Bedürfnisse so anzupassen bzw. anpassen zu lassen, wie es nötig ist. Die Erweiterung ist für die breite Masse entwickelt worden. Daher möchte ich dich um Verständnis bitten, wenn nicht jeder Wunsch berücksichtigt werden kann.

  • Was das Cachen von Templates angeht, so macht das nicht die Erweiterung, sondern das WCF/WSC

    Das hatte ich soweit auch verstanden. Die Sache mit dem Templates hat sich auch soweit geregelt. Ich bin davon ausgegangen,
    dass die Daten nicht neu angezeigt werden, weil die Templates compiliert waren. Was sich ja anders erwiesen hat.

    Ich muss gestehen, dass ich absolut keine Ahnung habe, wovon du hier redest.

    Im Grunde hat das auch nichts direkt mit dem Plugin zutun. Es geht mir darum, dass ich nicht möchte,
    dass die Streamer in der Liste stehen, wenn sie nicht auf unserem Server streamen, sondern etwas anderes.


    Das habe ich folgendermaßen geregelt: Eine Community auf Twitch erstellt und abgefragt, ob der Streamer auch dieser Community, wehrend dem Stream, beigetreten ist.



    Das wäre spätestens dann problematisch, wenn mehrere Leute parallel Daten abrufen lassen, da es seitens Twitch ein Limit von einem Request pro Sekunde gibt

    Das ist mir ebenfalls bewusst. Aber, wenn ich es nicht falsch verstanden habe, war der Cache auf 1 stunde eingestellt?
    Wenn $maxLifetime dafür steht..


    Aber wenn ich diesen Wert auf, sagen wir mal, 10 Sekunden stelle, dann wird es trotzdem nicht nach 10 Sekunden "geupdated".
    Weshalb ich das ganz entfernt haben wollte.


    Mittlerweile ist es aber auch nun egal. Ich habe mein Problem selbst behoben.
    Würde mich aber auf eine Antwort bezüglich der $maxLifetime freuen. Woran liegt das?

  • Es existieren 2 verschiedene caches, du müsstest bei beiden die lifetime runter setzen, die vom frontend cach sollte aber höher liegen als die vom backend cache.