![]() ![]() |
Sie sind hier: TeilnehmerInnen > Timo's Home > HowTo: ZOPE-Vorg�nge unter Windows regelm��ig ausf�hren HowTo: ZOPE-Vorg�nge unter Windows regelm��ig ausf�hrenDas HowTo erkl�rt, die man unter Windows sehr einfach Jobs regelm��ig �ber "Geplante Tasks" ansto�en kann. Zeitsteuerung mit ZOPE funktioniert so, dass man eine Seite innerhalb des ZOPE automatisiert aufruft. Das kann irgendeine Seite sein, z. B. eine DTML-Methode oder auch direkt ein Python-Script; Sinn macht das ganze aber nat�rlich nur, wenn die Seite eine Aktion innerhalb deines Zope bewirkt. Dazu benutzen wir ein Kommandozeilen-Tool namens WGET. W�hrend WGET unter Linux zur Bordausstattung geh�rt, muss man es sich f�r Windows hier besorgen: ftp://sunsite.dk/projects/wget/windows/ Die Versionen mit dem "b" im Dateinamen sind die ausf�hrbaren Dateien, die mit dem "s" die Sourcen (falls wer selbst kompilieren m�chte - ok, den lass' ich das n�chste mal weg). Am besten den Inhalt des Archivs komplett nach \Windows\System32 entpacken, dann steht der Befehl �berall zur Verf�gung. Jetzt eine Batch-Datei schreiben, die k�nnte etwa so aussehen: @echo off REM REM Aufruf einer Zope-Seite REM wget --spider --http-user=admin --http-passwd=XXXX -t 1 http://adresse:port Wer einen Proxy verwendet, muss folgendes schreiben: wget --spider --http-user=admin --http-passwd=XXXX -t 1 -Y on http://adresse:port Die speichert man an einem definierten Ort, z. B. hier: C:\scripts\batch.cmd Die Batchdatei bitte durch Doppelklick testen, ob das gew�nschte Resultat in ZOPE eintritt. Jetzt unter Systemsteuerung / Geplante Tasks einen neuen Task anlegen, der die Datei batch.cmd automatisch startet. Nat�rlich ist man nicht auf "t�glich" als minimalen Zeitabstand beschr�nkt; in den erweiterten Optionen geht so ziemlich alles von min�tlich zwischen 8:13 Uhr und 15 Uhr, bis zweist�ndlich zwischen 1:15 Uhr und 7:15 Uhr. Wichtig: Beim Anlegen des Tasks erwartet Windows 2000 bzw. XP einen passwortgesch�tzten Benutzernamen, unter dessen Rechten der Task ausgef�hrt wird. Ohne Passwort geht es nicht. Es versteht sich wohl von selbst, dass dies ein Standard-Benutzer sein sollte, und kein Administrator. Wichtig 2: Hier gibt es auch eine Option "Task beenden nach X:X Minuten", dort unbedingt ein Zeitmaximum vorgeben (z. B. 2 Minuten). Falls WGET einmal crashen sollte, wird der Task dann nach der vorgegebenen Zeitspanne automatisch abgeschossen, und verbraucht keine Ressourcen. Beispiele f�r zeitgesteuerte Aktionen in ZOPE finden sich zahlreich auf zope.org; auch auf DZUG gibt es einige Artikel, z. B. hier: ZCatalog Update mit dem wget-Kommando ZODB automatisch packen Geschrieben von Timo . Letzte �nderung 18.12.2003 09:14. |