In einer normalen Produktionswebiste müssen viele Aufgaben über crontab ausgeführt werden. Nehmen wir jedoch an, Sie möchten nicht, dass alle diese Aufgaben auf jedem cron ausgeführt werden.
Zum Beispiel hätte ich gerne:
- Ein Cron, der einmal am Tag für die "normale" Wartung ausgeführt wird (z. B. Aktualisierungsprüfungen).
- B cron, das alle 15 Minuten ausgeführt wird, um Newsletter zu versenden (von simplenews)
- C cron, das zweimal am Tag ausgeführt wird, Daten aus einer Ansicht abruft (JSON-Ansicht) und eine JSON-Datei auf dem Server aufschreibt (für einen Geomapping-Dienst mit vielen Daten, für die keine Echtzeit-Sincronyzierung erforderlich ist).
Eigentlich habe ich einen einzigartigen Cron, der die A-, B- und C-Aufgaben bei jedem Lauf alle 15 Minuten erledigt. Also habe ich 2 PHP-Skripte erstellt, die Drupal booten, eines die E-Mails senden und das andere die Geomapping-Datei zwischenspeichern. Es funktioniert, ist aber eine ziemlich manuelle Methode, die ich nicht besonders mag.
Was ist die beste Vorgehensweise, um verschiedene Cron zu setzen, alle Module hook_cron abzurufen und sie nur einem bestimmten Cron zuzuweisen ?
quelle