2013-05-04 13 views
12

Próbuję opracować zadanie cron dla polecenia, które już utworzyłem. Jestem całkowicie nowym pracownikiem Cron, więc nie wiem, jak to działa.Cron Job w Laravel

Samodzielne wykonanie polecenia w konsoli działa idealnie. Wszystko, czego potrzebuję, to móc wykonać to co 24 godziny. Używam Laravel 4, czy ktoś może pomóc?

Dzięki!

Odpowiedz

25

Aby utworzyć zadanie cron jako root, edytować plik cron:

[sudo] crontab -e 

Dodaj nową linię na końcu każdej linii to jest zadanie cron:

25 10 * * * php /var/www/<siteName>/artisan <command:name> <parameters> 

Spowoduje to wykonanie tego samego polecenia codziennie o 10:25.

Tylko pamiętaj, aby zachować pusty wiersz za ostatnim. I ty też może trzeba użyć pełnej ścieżki swojego klienta php:

25 10 * * * /usr/local/bin/php /var/www/<siteName>/artisan <command:name> <parameters> 
+3

Nie uruchamiaj go jako root, jeśli możesz w tym pomóc - po prostu 'crontab -e' jako zwykły użytkownik. Też myślę, że masz jeden zbyt wiele '*' s tam. –

+0

Miałeś rację, właśnie dodałem godzinę i zapomniałem usunąć *. Dzięki. –

+0

Dzięki za wskazówkę na pustej linii. Jednak moje nie będzie działać, dopóki nie określiłem bezwzględną ścieżkę do 'php' takich jak' * * * * */usr/local/bin/php/Users/myusername/Projects/path/to/laravel_app/artisan command: name' – ErikTheDeveloper

3

Można zarejestrować crona tak:

php /path/to/your/laravel/project/artisan your-custom-command 
1

Zobacz moją odpowiedź na this question, mój przykład jest dla L3 ale powinien działać na laravel 4 odpowiednio.