Cache leeren via CLI

  • App
    WoltLab Suite Core

    Moin,


    ich fände es sehr praktisch, wenn man über die CLI den Cache leeren könnte.

    Durch automatisierten Datentransfer oder auch z.b. setzen einer automatisierten Wartung muss man die Cache Daten sonst immer alle selbst suchen und einfügen.

    Da fände ich eine Zentralisierung sehr praktisch.

    „If you can only do one thing, hone it to perfection. Hone it to the utmost limit!“ – Zenitsu Agatsuma

  • Geht doch schon:


    Code
    php -r 'require __DIR__ . "/global.php"; \wcf\system\style\StyleHandler::resetStylesheets(); \wcf\system\language\LanguageFactory::getInstance()->deleteLanguageCache(); \wcf\system\cache\CacheHandler::getInstance()->flushAll(); \wcf\data\package\update\server\PackageUpdateServer::resetAll(); die("\n\nCache cleared.\n\n");'


    ^^ 8o

  • Ja gut, das würde natürlich auch gehen ^^

    „If you can only do one thing, hone it to perfection. Hone it to the utmost limit!“ – Zenitsu Agatsuma

    • Official Post

    Hallo,


    mit WoltLab Suite 6.0 steht die „Cache leeren“-Funktion in Form eines wiederverwendbaren ClearCache-Kommandos programmatisch zur Verfügung:


    WCF/ClearCache.class.php at 31eef36aa010a80babdf6683a9b0d8fae40bed16 · WoltLab/WCF
    WoltLab Suite Core (previously WoltLab Community Framework) - WCF/ClearCache.class.php at 31eef36aa010a80babdf6683a9b0d8fae40bed16 · WoltLab/WCF
    github.com


    Dabei wird auch ein entsprechendes CacheCleared-Event gefeuert. Siehe auch die „neuen“ Events ab 5.5: https://docs.woltlab.com/6.0/migration/wsc54/php/#events und die Registrierung von Event-Listenern im Bootstrap-Skript ab 6.0: https://docs.woltlab.com/6.0/m…istering-ievent-listeners


    Die entsprechende Funktionalität kann also zuverlässig über das ClearCache-Kommando erreicht werden. Eine schlüsselfertige Lösung ist aber nicht geplant.

Participate now!

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