dusselmann hat geschrieben:Kann ich in Zope Jobs einrichten, die zu bestimmten Zeiten ablaufen?
Hi Daniel!
Geplante Jobs sind nicht in Zope implementiert. Man kann aber betriebsystemeigene Mittel verwenden um Jobs aufzurufen. Unter Linux mit Cron und unter Windows als "geplanter Task". Du musst nur zu gewissen Zeiten eine vorher von dir definierte URL aufrufen, hinter der sich dein Skript verbirgt.
Der Aufruf einer Url lässt sich ziemlich einfach mit dem Kommandozeilenprogramm WGet (
http://www.gnu.org/software/wget/wget.html) realisieren. Wenn du dafür ein Beispiel brauchst, dann sieh dir mal meine Beispiele zum Komprimieren der Zope-Datenbank (
http://gerold.bcom.at/zope_plone/zope_a ... datenbank/ und
http://gerold.bcom.at/zope_plone/zope_a ... en_teil_2/) an.
Nehmen wir mal an, dass du direkt im Root ein Python-Skript mit dem Namen "mein_cronjob" hast, dann musst du nur die Url
http://localhost:8080/mein_cronjob aufrufen -- schon wird dieses Skript ausgeführt. Idealerweise gibt dieses Skript einen Text zurück, der symbolisiert, ob der Job korrekt ausgeführt wurde.
Code: Alles auswählen
## mein_cronjob
# Hier wird der Job ausgeführt
if context.irgendein_job():
retval = "Alles OK"
else:
retval = "Sch..."
return retval
Damit nicht jeder diesen Job auslösen kann, solltest du das Recht zum Anzeigen nur dem Manager oder einem speziell dafür gedachten Benutzer zuweisen. Anmeldename und Passwort können als Parameter an WGet übergeben werden.
lg
Gerold
