Frage

Ich bin völlig neu für das Thema Cron-Jobs, so habe ich keine Ahnung, wo über sie zu erlernen; wann, warum, oder wie sie mit meiner Zend Framework-Anwendung verwenden, oder PHP im Allgemeinen.

Kann mir jemand erklären, den Prozess, mit einem Beispiel, oder ein paar gute Ressourcen empfehlen, loszulegen?

War es hilfreich?

Lösung

Cronjobs ist ein Mechanismus, um Aufgaben zu automatisieren in Linux-Betriebssystem. Und hat ziemlich wenig witn Zend Framework zu tun. Der Rahmen kann man allerdings eine erweiterte Crontask in php helfen zu entwickeln. Aber dann werden Sie Ihre Cron-Job in der Shell eingerichtet haben.

Googeln für „wie Cron-Job einrichten“, verriet diesen Link an der Spitze:

http://www.adminschoice.com/docs/crontab.htm

Ich bin sicher, dieser Artikel wird Ihnen helfen.

P. S.

Als Befehl auszuführen Sie so etwas wie setzen sollte:

/usr/local/bin/php -f <path_to_your_php_script>

, wo der erste Weg ist der vollständige Pfad zu Ihrer PHP cli ausführbaren Datei, die auf Ihrem Computer abweichen. Sie können durch die Ausgabe dieses Befehls sicher:

which php

Viel Glück mit Cron-Jobs;)

Andere Tipps

Wie die Zend Framework ist eine Sammlung von irgendwie losen gekoppelten Komponenten Sie die Komponenten verwenden, können Sie in jedem PHP-Skript wie einschließlich CLI-Skripten. Sie werden jedoch sicher machen müssen, dass PHP die entsprechenden Zend Framework-Klassen, so können Sie die Zend Framework Bibliothek Pfad zu Ihrem include_path hinzuzufügen haben. Dann können Sie einstellen, das automatische Laden mit Zend_Loader_Autoloader (ZF> = 1.8) oder Zend_Loader (ZF <1.8) das Leben leichter zu machen. Jetzt sollten Sie Zugriff auf alle Zend Framework-Komponenten, die Sie nach Belieben verwenden können.

Wie jedes anderes Skript oder Programm dieser PHP-Skript kann natürlich in einem Cron-Job verwendet werden. Eine weitere Sache zu beachten ist, dass Sie sich sorgen dafür, dass der Benutzer den Betrieb Ihres Cron-Jobs hat Lesezugriff auf die Zend Framework Bibliothek Pfad sonst PHP kann nicht die Zend Framework-Dateien lesen.

Wenn Sie Fragen über die Verwendung der MVC-Komponente in CLI-Skripte gezielt wurden, muß ich zugeben, dass ich keine Erfahrung auf diesem. Ich würde annehmen, dass ein nicht zu vernachlässige Anstrengungen müssen unternommen werden, um geeignete Anfrage-, Antwort-, distpachter- und Route-Klassen zu implementieren.

EDIT:

Bitte finden Sie unter dieser Artikel für weitere Informationen.

Vielleicht ein Beispiel aus der Praxis helfen würde. Vor ein paar Jahren arbeitete ich an einem Event-Kalender-Projekt des Zend Framework. In diesem Kalender könnte ein Benutzer ein Ereignis erstellen und 1 oder mehr Tage, an das Ereignis zuordnen. Natürlich habe ich realisierte dies als eine many-to-one kommt in meiner Datenbank, aber das bedeutete, dass, um ein Datum zu befestigen, das Ereignis zuerst bestehen hatte. Ich wollte jedoch den Benutzern erlauben, Termine hinzufügen, während sie die Veranstaltung kreierten, nicht nach sie erstellt ein Ereignis. Mit anderen Worten, wollte ich den Benutzer alle Aspekte eines Ereignisses zur gleichen Zeit zu bearbeiten, und nur einreichen, wenn sie angeklickt „speichern“.

Ich löste das Problem, indem sie ein neues leeres Ereignisaufzeichnung in die Datenbank einfügen, wenn der Benutzer eine Ereignisaufzeichnung beginnt zu schaffen. Diese leere Datensatz wird ausgefüllt und gespeichert, wenn der Benutzer klickt auf „Speicher“, oder wird gelöscht, wenn der Benutzer klickt auf „Abbrechen“. Das Problem trat auf, wenn Benutzer navigiert weg, ohne auf „Abbrechen“, und die leere Ereignisaufzeichnung klicken wurde in der Datenbank verlassen. Schließlich würde die Datenbank mit diesen sinnlosen leeren Ereignissen füllen, und die Dinge könnten hässlich.

Ich schrieb eine Funktion „Wartung ()“, die unter anderem, alle nicht gespeicherten Datensätze gelöscht älter als 24 Stunden. Ich habe einen cron-Job auf, die jede Nacht lief und ausgeführt, um ein PHP-Skript-Befehlszeile, die Wartung lief ().

Andere Dinge, die Sie einen cron-Job verwenden könnten für:

  • einen Stapel von E-Mail an neue Benutzer senden. (Alle 5 Minuten?)
  • Update User-Statistik (jede Stunde?)
  • Führen Sie ressourcenintensive Vorgänge, wenn die Server nicht mit dem Verkehr (jede Nacht um Mitternacht, oder einmal pro Woche am Sonntagabend?)
  • knallt
  • Alles andere Ereignis, das als Reaktion auf eine Benutzeranfrage (was Jeff ruft „out-of-Band“).
  • tritt nicht auf

Sie auch in wie cron-Jobs mit ZF speichern

Hier ist ein Link auf eine gute Möglichkeit, Ihre implentation eines cron-System mit Zend Framework zu tun:

Cron Aufgaben in Zend Framework Apps

personnaly habe ich angepasst es so könnten Parameter dynamisch sein, aber die Basis ist die gleiche: -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top