Löscht veraltete Einträge in der Moderation

  • Affected App
    WoltLab Suite Core

    Hallo,


    Es scheint so als würden erledigte und veraltete Einträge in der Moderation (Cronjob: Löscht veraltete Einträge in der Moderation) nach 30 Tagen nicht gelöscht werden:


    Diese sollten ja nach 30 Tagen gelöscht werden wenn diese Erledigt sind, dies ist aber leider nicht der Fall.

    Der Cronjob ist aktiviert und auch Fehlerfrei durchgelaufen.


    Danke im voraus.

    ┌П┐(◉_◉)┌П┐

  • Hallo,


    Hat sonst niemand dieses Problem?


    Die erledigten Einträge vom 28. März sind nämlich noch immer bei mir vorhanden, ich gehe von einem Fehler aus.


    Danke im voraus.

    ┌П┐(◉_◉)┌П┐

  • Verstehe ich den Screenshot richtig? Am 28. (März) war es 1 (alter) Eintrag und am 29. dann 0? Dann wäre es doch richtig, oder verstehe ich Deine Frage falsch?

    Die Frage wäre dann nur, wie es Ende April aussah.

    Gruß

    Jörg

    (Jaydee)

  • Die Zahl sind die Kommentare die in der Moderation waren, das Datum ist das Datum der letzten Änderung.


    So wie ich im Cronjob gesehen hab werden erledigte Einträge nach 30 Tagen seit der letzten Änderung gelöscht aber werden die nicht :)


    Gehe also von einem Fehler aus.

    ┌П┐(◉_◉)┌П┐

  • Ok, da ich das Forum erst vor ca. 14 Tagen aufgesetzt habe, lief der Job noch nicht automatisch bei uns durch und ich kann das nicht prüfen. Die EInträge stammen alle max. vom 19. April.


    Daher habe ich ihn gerade mal manuell angestoßen, mit demselben Ergebnis wie bei Dir: es tut sich nichts, selbst importierte Beiträge von 2009 (die mal "soft-gelöscht" waren), werden dort noch weiterhin angezeigt, auch mit "Erledigt" Markierung.

    Es stellt sich die Frage, was dieser Job als "veraltet" betrachtet (dazu müsste man sic das File mal näher ansehen, habe ich noch nicht).

    Denn der Ausführungstag des Jobs besagt ja nicht zwangsläufig, dass auch bis dorthin alle Einträge "veraltet" sind und somit gelöscht würden.


    Ich unterstelle jetzt mal, dass das Script in Ordnung ist und wenn es ausgeführt wird (spätestens manuell angestoßen), dürfte das so seine Richtigkeit haben.

    Gruß

    Jörg

    (Jaydee)

  • Ja, das ist mir schon klar. Aber eben genau dort erscheinen sie ja. ;)

    Wir hatten nach dem Import dort "tausende" stehen und die habe ich alle pauschal in der Moderation auf "erledigt" gesetzt - und genau dort werden sie auch weiterhin angezeigt. Unter "Ausstehend" kein einziger, aber exakt 2.604 unter "Erledigt".


    Auch jetzt nach Durchlauf des Scriptes noch. Und das soll dann vermutlich auch (noch) so sein.

    Zumindest bei uns Beiden ist es ja schon mal so.

    Gruß

    Jörg

    (Jaydee)

  • Dann sorry meinte du dachtest die Beiträge im Papierkorb die werden nämlich korrekt gelöscht.


    Die bei erledigte werden jedenfalls nicht nach 30 Tagen (erledigt) gelöscht obwohl der Cronjob aktiviert und fehlerfrei durchlaufen ist.


    Hab mehrere Einträge die eigentlich schon gelöscht sein müssten, der Cron läuft ja jeden Nacht um 1 Uhr.

    Ist definitiv ein Fehler :)

    ┌П┐(◉_◉)┌П┐

  • Stimmt, es läuft tatsächlich jede Nacht. Hatte Dich anfangs so verstanden, als wäre es bei Dir auf "alle 30 Tage" eingestellt. Default ist 1.00 h jede Nacht, stimmt.


    Hm, seltsam. Ich werde mir bei Gelegenheit mal das ausführende Script näher ansehen, WAS genau da eigentlich ausgeführt werden soll. Das kann man im ACP nur aufgrund der Kurzbeschreibung leider nicht immer eindeutig ableiten.

    Gruß

    Jörg

    (Jaydee)

  • Hatte da gestern mal draufgeschaut. Wenn ich es richtig in Erinnerung habe, sollte es 30 Tage nach der letzten Änderung aktiv werden.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Hab mir das ganze jetzt mal angeschaut:

    Hier wird geprüft ModerationQueue::STATUS_DONE und Zeit älter als 30 Tage.


    Hier sind die Status-Konstanten (https://github.com/WoltLab/WCF…tionQueue.class.php#L30):

    Code
    const STATUS_OUTSTANDING = 0;
    const STATUS_PROCESSING = 1;
    const STATUS_DONE = 2;
    const STATUS_REJECTED = 3;
    const STATUS_CONFIRMED = 4;

    Eine erledigte Moderation Status Inhalt wurde freigeschaltet bekommt somit die Nummer "4":


    Somit fällt dieser Eintrag nicht unter die Voraussetzungen des Cronjobs obwohl es dies sollte (weil erledigt), im Cronjob wird aber nur STATUS_DONE geprüft (2).


    Endweder wird bei erledigten Moderationen der Status in der Datenbank nicht richtig aktualisiert oder der Query im Cronjob müsste 2,3 & 4 prüfen.


    Irgendwas stimmt hier definitif nicht.


    EDIT: würde mich freuen wenn hier mal was von seitens von WL kommt was da los ist :)


    Danke nochmals.

    ┌П┐(◉_◉)┌П┐

    Edited once, last by TeRRible__KHONS ().

  • Gut, demnach wären die 30 Tage eindeutig bestätigt und auch abgefragt:


    Quote from Script


    TIME_NOW - (86400 * 30)



    Vielleicht ist es eine reine Interprations- und Verständnisfrage?

    Denn dem Query nach werden besagte Einträge "nur" aus der Queue entfernt, aber nicht gänzlich gelöscht. Und genau das ist ja auch der Fall (also zumindest bei uns).

    Unter "erledigt" bleiben sie dann trotzdem weiter aufrufbar, sind nur nicht mehr "heiß" (in der Mod-Anzeige) und damit hätte das Script seinen Job ja ordnungsgemäß gemacht.


    Es wäre ja auch vollkommener Blödsinn (und normalerweise unerwünscht), wenn z.B. nicht freigeschaltete (also zu moderierende) Beiträge nach Zeit x entweder automatisch freigeschaltet oder gar gelöscht würden. Ergo müssen sie irgendwo für Mods/Admins weiterhin aufrufbar bleiben, um ggf. später reagieren zu können.

    Für mich sieht es dem Script nach so aus, als sei es genau so gewollt.

    Gruß

    Jörg

    (Jaydee)

  • Sehe ich nicht so, nach dem query ist DELETE drin, die sollten aus der queue gelöscht werden (wenn erledigt) und auch da sind die weiterhin drin.


    Nicht abgeschlossene Einträge ist mir klar dass diese nicht gelöscht werden und das ja auch korrekt so.


    Warten wir einfach ab bis die vom WoltLab Team was dazu sagen.


    Meiner Meinung nach siehst du das komplett falsch :)

    ┌П┐(◉_◉)┌П┐

  • Sehe ich nicht so, nach dem query ist DELETE drin, die sollten aus der queue gelöscht

    Genau das schrieb ich ja. ;) Eben aus der Queue, sonst nirgendwo.


    und auch da sind die weiterhin drin.

    Das wäre dann in der Tat ein anderes Thema. Das kann ich bisher bei uns nicht nachvollziehen, werde das aber mal im Auge behalten.



    Meiner Meinung nach siehst du das komplett falsch

    Das mag durchaus sein, davon spreche ich mich nicht frei. :)

    Gruß

    Jörg

    (Jaydee)

  • Warten wir am besten ab bis wir offiziell aufgeklärt werden, wenn dem nämlich nicht so wäre würde der ganze Cronjob keinen Sinn machen :)


    Ich gehe weiterhin von einem Fehler aus.

    ┌П┐(◉_◉)┌П┐

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!