Cronjobs ignorieren Monat

  • Affected App
    WoltLab Suite Core

    Man erstelle einen Cronjob der immer am ersten Dezember um 12 Uhr stattfindet.

    Startet man den Cronjob würde man erwarten dass dieser das nächste mal am 01.12.2017 durchgeführt wird, tatsächlich aber bekommt man folgendes:

    Also enweder ich habe die Cron Syntax komplett falsch verstanden oder die Berechnung ignoriert die Angabe des Monats...

    Das Verhalten hat sich in diesem Zusammenhang in allen WCF/WSC Versionen gezeigt soweit ich das getestet habe.

    Gruß,

    Morik

  • Ich habe gerade mal eine Reihe von Tests gemacht und so wie es aussieht, wird der Monat bei der gesamten Berechnung ignoriert. Leider sehe ich keine Möglichkeit dies auf eine einfache Art und Weise zu korrigieren, die Berechnung ist sehr komplex und selbst kleinste Änderungen können fatale Folgen haben, die sich mitunter erst sehr spät äußern, etwa durch abweichende Ausführungszeitpunkte in der Zukunft.

    Angesichts der Tatsache, dass dies seit WCF 2.0 schon so ist und es in der ganzen Zeit nicht einen einzigen Report dazu gibt, sehe ich den Nutzen bei der Angabe des Monats als nicht existent an. Eine Anpassung der Berechnung zu diesem Zweck schließe ich damit aus, der Nutzen rechtfertigt das nicht unerhebliche Risiko in meinen Augen nicht.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Das Problem ist doch, dass ihr zwar den Monat ausrechnet, den wert aber nicht verwendet und im WSC sogar gar nicht erst speichert:

    https://github.com/WoltLab/WCF/bl….class.php#L144

    Die Berechnung des richtigen Monats und Jahrs kann aber erst erfolgen nachdem man intern alle anderen Pararmeter berechnet hat (für den fall dass man über das Monatsende hinaus kommt).

    Würde man diese Berechnung also erst im Anschluss durchführen kämen auch nicht plötzlich werte wie der 13. Monat usw raus, die zwar zulässig sind für gmmktime, aber so ganz sicher nicht den erwarteten Ergebnissen entsprechen.

    https://github.com/WoltLab/WCF/pull/2150

    Das würde das Problem beheben, ob ihr das merged oder nicht ist natürlich euch überlassen, würde es jedoch begrüßen :D

  • Angesichts der Tatsache, dass dies seit WCF 2.0 schon so ist und es in der ganzen Zeit nicht einen einzigen Report dazu gibt, sehe ich den Nutzen bei der Angabe des Monats als nicht existent an. Eine Anpassung der Berechnung zu diesem Zweck schließe ich damit aus, der Nutzen rechtfertigt das nicht unerhebliche Risiko in meinen Augen nicht.

    das sehe ich aber anders, nur weil etwas schon lange falsch ist hat das keine berechtigung so zu bleiben

    ich selbst brauche das und möchte diesen bug behoben haben

    mfg

  • das freut mich Morik und ich finde es supper das sich die user hier solch eine mühe geben,

    hier fehlen mir aber noch immer ein paar worte seites woltlab, ich denke das wäre ja nicht zuviel verlangt :)

    mfg

Participate now!

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