Laden geplante Tasks die Application.cfc auf die gleiche Weise wie Webseiten? Wir haben eine Aufgabe, die jede Nacht ausgeführt wird und eine in die Anwendung geladene cfc-Dienste verwenden muss. Wird der Anwendungsumfang auf die gleiche Weise wie beim Aufruf einer Standard-Webseite bestehen? Gibt es Unterschiede oder Fehler, auf die man achten sollte?Laden geplante Tasks Application.cfc auf die gleiche Weise wie Webseiten?
Antwort
Der CF-Aufgabenplaner führt einen HTTP-Aufruf an die URL aus, die Sie in der Aufgabe angeben. Daher gelten alle Standardregeln. Application.cfm/application.cfc wird ausgeführt, der Anwendungsbereich existiert usw.
Die einzige Sache, die Sie im Hinterkopf behalten müssen, ist, dass der Scheduler selbst keine Fehler erkennt, also sollten Sie die Aufgabe so schreiben, dass sie im Fehlerfall Protokolle, E-Mails usw. aufzeichnet. Und während des Tests wahrscheinlich auf Erfolg.
Bearbeiten: Sergii bemerkte etwas, das ich übersehen hatte. Der Scheduler verwaltet keine Cookies. Es verhält sich eher wie eine Spinne. Daher wird alles, was in den Sitzungs- oder Clientbereichen oder in Cookies gespeichert ist, nicht gespeichert und beim nächsten Ausführen der Aktion verloren gehen.
Der einzige Unterschied besteht darin, dass bei jeder Anforderung eine neue Sitzung erstellt wird. – Sergii
Das ist lustig, ich hatte inkonsistente Ergebnisse mit Anwendungsbereichsvariablen aus Application.cfc in einer geplanten Aufgabe festgelegt. Darauf aufbauend werde ich das Problem, an dem ich zuvor gearbeitet habe, noch einmal untersuchen. – Jay
Ich habe auch Seltsamkeit gesehen, weshalb ich meine geplanten Aufgaben in sich abgeschlossen habe. Ich denke, einige der Methoden werden nicht ausgelöst, wenn es sich um eine kopflose Browser-Anfrage handelt, wie OnSessionStart() oder OnRequestStart(). – ale