Ich erstelle einen Konsolenbefehl in meinem Projekt. Ich möchte, dass es jeden Tag um 19 Uhr ausgeführt wird. Wie könnte ich es in Symfony2 tun? Ein einfacher php cron job way oder symfony2 hat etwas bequemeres? DankCron-Job in Symfony2
Antwort
Sie den Grund cron verwenden können. Auf debian oder ubuntu Sie dies tun können:
crontab -e -u <username>
Wo Benutzername der Name des Benutzers, der den Befehl ausgeführt werden soll. Im Editor fügen Sie Ihren Befehl hinzu. Hier ist a good explanation wie die Linie aussehen soll. Für einen Symfony2 Befehl so etwas wie dies funktionieren soll:
* * * * * /usr/bin/php /var/www/symfony2/app/console your:command --option=123
Dies wird your:command --option=123
jede Minute ausführen.
Auf einem Fenster Maschine können Sie den ac
Befehl verwenden. Es ist standardmäßig für Windows 7 verfügbar. Read the docs here. Es sollte wie folgt aussehen:
AT 00:00 /every:M,T,W,Th,F "php /var/www/symfony2/app/console your:command --option=123"
Stellen Sie sicher, dass php
ist available globaly oder der Pfad zur php.exe
Datei korrekt ist.
Sie können einen cron in crontab nur stellen Sie Ihren symfony Befehl auszuführen,
z.B.
0 19 * * */var/www/Symfony/app/console YOUR_COMMAND
Nop, Sie müssen den Befehl als www-Datenbenutzer ausführen, sonst könnte es den Cache zu brechen. –
Ich denke, das ist eine gute Frage.
Ich habe kürzlich einige Arbeit (mit ZF1 Komponenten, nicht volle MVC), wo alle Arten von versteckten Abhängigkeiten auf Cron-Jobs zur Ausführung von Aufgaben, und ich musste viel Zeit zum Hinzufügen von Kommentaren und Erstellen von Dokumentation, um jemanden warnen nach mir was diese Crons haben, was sie getan haben, wo sie gelagert wurden und so weiter.
Es dämmerte mir nie, dass es ...
Leider obwohl zu diesem Zweck viele Abhängigkeiten von Controllern nur eine ZF-Komponente würde ich aber nicht Ihre direkte Frage zu beantworten.
FWIW
Ihr Link ist veraltet. – ferdynator
Ist das eine Antwort? – Trix
Achten Sie auf den Benutzer, den Sie den Befehl verwenden. Wenn Sie es als root ausführen, könnte root Symfony-Cache besitzen und dann die HTTP-Seite Ihrer Site unterbrechen (weil nginx beispielsweise als www-data-Benutzer ausgeführt wird).
Mit Docker, benutze ich die "setuser" -Methode, um www-Daten Benutzer zu zwingen.
- 1. cronjob in asp C#
- 2. in cronjob Verwendung in Wordpress
- 3. cronjob in codeigniter mit cpanel
- 4. Rake nicht richtig in Cronjob
- 5. Ein Cronjob In Windows Xampp
- 6. Mehrere Cronjob-E-Mails
- 7. Cronjob Speicher von Dateien
- 8. PHP ob_ * von Cronjob?
- 9. So verwenden Sie Cronjob
- 10. Cronjob oder MySQL Event?
- 11. Stündliche Cronjob unter Windows
- 12. Fehler in Cronjob über SSH-Server
- 13. Problem läuft Kuchen Shell in Cronjob
- 14. Wie man Cronjob in Cordova App hinzufügt
- 15. cronjob Ausführen einer PHP-Datei
- 16. AWS arbeitet nicht von Cronjob
- 17. Cronjob hinzugefügt, aber nicht funktioniert
- 18. Git automatisch ziehen mit Cronjob
- 19. Cronjob läuft nicht php Dokument
- 20. Konstruktor in Symfony2 Controller
- 21. PayPal in Symfony2
- 22. Onchange in Symfony2 Form
- 23. Asynchrone Aufrufe in symfony2
- 24. Abhängigkeiten in Formularen Symfony2
- 25. Bedingte Beziehung in Symfony2
- 26. Wie in Symfony2
- 27. Lokalisierte Fehlerseiten in Symfony2
- 28. Gruppenformularfelder in Symfony2
- 29. LDAP-Authentifizierung in Symfony2
- 30. Cronjob zum Erkennen der zuletzt geänderten Dateien
Jep, das ist der Weg zu gehen. –
Mein os ist window7. Ich kann den Befehl crontab nicht direkt ausführen. Was soll ich dann tun? Danke für deine Antwort. @ byf-ferdy –
Ich habe meine Antwort aktualisiert. – ferdynator