Tworzę polecenie konsoli w moim projekcie. Chcę, żeby był wykonywany codziennie o 19.00. Jak mogłem to zrobić w symfony2? Podstawowy sposób działania php cron lub symfony2 ma coś bardziej wygodnego? DziękiCron Job in symfony2
Odpowiedz
można wykorzystywać podstawową crona. Na debian lub ubuntu można to zrobić:
crontab -e -u <username>
Gdzie nazwa to nazwa użytkownika, który powinien wykonać polecenie. W edytorze dodaj swoje polecenie. Oto a good explanation, jak linia powinna wyglądać. Przez coś komenda Symfony2 jak to powinno działać:
* * * * * /usr/bin/php /var/www/symfony2/app/console your:command --option=123
ten będzie wykonywał your:command --option=123
każdą minutą.
W ciągu okien maszyna można użyć komendy ac
. Domyślnie jest on dostępny dla domyślnego okna Windows 7. Read the docs here. Powinno to wyglądać mniej więcej tak:
AT 00:00 /every:M,T,W,Th,F "php /var/www/symfony2/app/console your:command --option=123"
Upewnij się, że php
jest available globaly lub ścieżka do pliku php.exe
jest poprawna.
można po prostu ustawić crona w crontab wykonać swoje polecenia symfony
przykład
0 19 * * */var/www/symfony/app/console YOUR_COMMAND
Nop, musisz uruchomić polecenie jako użytkownik danych www, w przeciwnym razie może złamać pamięć podręczną. –
Myślę, że to dobre pytanie.
Niedawno wykonałem trochę pracy (używając komponentów ZF1, a nie pełnego MVC), gdzie na zleceniach crona istniały wszelkiego rodzaju ukryte zależności do wykonywania zadań, i musiałem spędzać dużo czasu dodając komentarze i tworząc dokumentację, aby ostrzec każdego, kto po mnie podąża. co te crony istniały, co robili, gdzie były przechowywane i tak dalej.
nigdy to mnie olśniło, że nie będzie składnikiem ZF właśnie w tym celu, wiele zależnościami na kontrolerach mimo ...
Niestety ja nie odpowiadając na bezpośrednie pytanie chociaż.
FWIW
Twój link jest nieaktualny. – ferdynator
Czy to jest odpowiedź? – Trix
Zwróć uwagę na użytkownika, którego używasz do wykonania polecenia. Jeśli uruchomisz go jako root, root może posiadać pamięć podręczną Symfony, a następnie złamać stronę HTTP (ponieważ nginx będzie działał na przykład jako użytkownik danych www).
Korzystając z Docker, używam metody "setuser" obrazu phusion, aby wymusić na użytkowniku dane www.
- 1. Scrapy crawler in Cron job
- 2. Cron Job in play framework 2.0
- 3. Cron Job w Laravel
- 4. Cron Job $ _SERVER issue
- 5. Magento cron job and cron_scheduler table
- 6. Cron Job - Jak wysłać plik wyjściowy do wiadomości e-mail
- 7. PHP - Cron Job Run na konkretne daty i czasu
- 8. Jak utworzyć zadanie cron w Symfony2
- 9. Różnica między * i? in Spring @Scheduled (cron = ".....")
- 10. Something like cron (timer) in gevent
- 11. Konstruktor zapytań Symfony2 Doctrine gdzie IN
- 12. niezainicjowany stała Opóźnione :: Job
- 13. Demon usługi Job Python?
- 14. CodeIgniter + Command + Cron + Cpanel
- 15. Katalog roboczy PowerShell Start-Job
- 16. Jak usunąć zadanie cron z Ansible?
- 17. Powershell start-job, wait-job, wątek hosta nigdy nie kończy się po uruchomieniu z ASP.NET IIS
- 18. Jeśli powtarza się wypowiedź i nikt jej nie słyszy, czy kiedykolwiek otrzyma echo? (PHP cron job question)
- 19. Przekazywanie tablicy do zadania Get-Job
- 20. Symfony2 Subformy
- 21. Cron Zadanie: Dołącz bieżącą datę do nazwy pliku przez Cron?
- 22. Wyrażenie Cron do uruchamiania wyzwalaczy cron przez 12 godzin dziennie?
- 23. Cron Jobs in Kubernetes - połącz się z istniejącą kapsułą, wykonaj skrypt
- 24. Cron Zadania na serwerach zbalansowanych z obciążeniem
- 25. Cron: Ustawienie kilku minut
- 26. Jak działa django-cron?
- 27. Jak skonfigurować zadanie Cron?
- 28. Cron codziennie o 18.00
- 29. git push przez cron
- 30. Cron z powiadomieniem-wysłaniem
Jep, to jest droga. –
Moje os to okno7. Nie mogę bezpośrednio uruchomić polecenia crontab. Więc co powinienem zrobić? Dziękuję za odpowiedź. @ byf-ferdy –
Zaktualizowałem moją odpowiedź. – ferdynator