frdl / oidplus-plugin-alternate-id-tracking

Track/Cache AltIds e.g. to enable reverse look-up of original identifiers by its alternate id.
MIT License
1 stars 0 forks source link

Implement cronjob #20

Open danielmarschall opened 8 months ago

danielmarschall commented 8 months ago

Funktion renewAll() ab und zu mal ausführen, als Alternative zu dem bisherigen Vorgehen "Warten bis die Seiten alle mal aufgerufen wurden, und die ###altids Tabelle sich dadurch automatisch befüllt hat").

Wir können gucken, ob es ein Cronjob ist, in dem man guckt ob das Script cron.php heißt. Dann wird die Tabelle ganz befüllt. Oder vielleicht maximal 10-50 Objekte pro Lauf? (cron.php ist übrigens im Lieferumfang!)

Sollte in den OIDplus-Kern vielleicht noch eine Funktion rein "isCronjob()" damit die Plugins erkennen können, ob sie sich in einem Cronjob befinden? Wär ganz cool.

danielmarschall commented 8 months ago

Sollte in den OIDplus-Kern vielleicht noch eine Funktion rein "isCronjob()" damit die Plugins erkennen können, ob sie sich in einem Cronjob befinden? Wär ganz cool.

Hoppla, das gibt's ja schon längst in der Klasse OIDplus:

public static function isCronjob(): bool {
    return explode('.',basename($_SERVER['SCRIPT_NAME']))[0] === 'cron';
}

Edit: PHP_SAPI Abfragen ist übrigens nicht gut, denn: "CLI" kann auch aufgerufen werden als Nicht-Cron (z.B. interne WHOIS Abfragen). Und umgekehrt. "cron.php" kann über einen Web-Cron-Service aufgerufen werden, also ganz ohne CLI SAPI

wehowski commented 8 months ago

Das stimmt, da hast Du recht. Je nach Anwendungsfall kann SAPI aber die max_execution time determinieren, auch nicht-cronjobs können über cli eher länger oder endlos laufen, web-requests sollten IMMER begrenzt sein!?