Создаю консольную команду в моем проекте. Я хочу, чтобы он исполнялся каждый день в 7 часов вечера. Как я могу сделать это в symfony2? Основной способ работы с php cron или symfony2 имеет что-то более удобное? БлагодаряCron Job в symfony2
ответ
Вы можете использовать основные хрон. На Debian или убунту вы можете сделать это:
crontab -e -u <username>
Где имя пользователя это имя пользователя, который должен выполнить команду. В редакторе добавьте свою команду. Вот a good explanation, как должна выглядеть линия. Для команды Symfony2 что-то, как это должно работать:
* * * * * /usr/bin/php /var/www/symfony2/app/console your:command --option=123
Это будет выполнять your:command --option=123
каждую минуту.
Об одном окна машина, которую вы можете использовать команду ac
. Он доступен для окон 7 по умолчанию. Read the docs here. Это должно выглядеть примерно так:
AT 00:00 /every:M,T,W,Th,F "php /var/www/symfony2/app/console your:command --option=123"
Убедитесь, что php
является available globaly или путь к файлу php.exe
правильно.
Вы можете просто установить хроны в кронтабе, чтобы выполнить вашу команду Symfony,
например
0 19 * * */вар/WWW/Symfony/приложение/консоль YOUR_COMMAND
Nop, вы должны запустить команду как пользователь www-data, иначе она может сломать кеш. –
Я думаю, что это хороший вопрос.
Я недавно проделал некоторую работу (используя компоненты ZF1, а не полный MVC), где все виды скрытых зависимостей существовали на заданиях cron для выполнения задач, и мне пришлось потратить много времени на добавление комментариев и создание документации, чтобы предупредить всех, кто идет за мной что эти кроны существовали, что они делали, где они хранились и так далее.
Он никогда не осенило меня, что бы компонент ZF только для этой цели, много зависимостей на контроллерах, хотя ...
К сожалению, я не отвечаю на ваш прямой вопрос, хотя.
FWIW
Ваша ссылка устарела. – ferdynator
Это ответ? – Trix
Обратите внимание на пользователя, которые используются для выполнения команды. Если вы запустили его как root, root мог бы владеть кешем Symfony, а затем разорвать HTTP-сайт вашего сайта (например, nginx будет работать как пользователь www-data).
С помощью Docker я использую phusion base image «setuser», чтобы заставить пользователя www-data.
- 1. Команда Symfony2 cron job в VPS
- 2. создать cron job from another cron job
- 3. CRON JOB в GOLANG
- 4. Cron Job $ _SERVER issue
- 5. cron job laravel 5.3
- 6. Cron Job - Dreamhost
- 7. Cron job in phpbb?
- 8. Отправить письмо: Cron job
- 9. cron job command
- 10. PHP Cron Job Engine
- 11. Cron job не работает
- 12. CentOS - Cron job beginner
- 13. Instance limited cron job
- 14. Cron job with Laravel
- 15. cron job не работает
- 16. CRON job for codeigniter
- 17. Cron job using asp.net
- 18. cpanel cron job url
- 19. Cron Job in Laravel
- 20. Cron job не работает
- 21. Is * * * * *? действительный Cron Job?
- 22. Batch File/Cron Job
- 23. Cron Job не работает
- 24. Cron job twitter
- 25. Запуск cron job hourly
- 26. FeedWordPress cron job code
- 27. PHP Cron Job Error
- 28. Active cron job
- 29. Large Dataset Cron Job
- 30. Двуязычный CodeIgniter cron job
Да, это путь. –
My os is window7. Я не могу запустить команду crontab напрямую. Тогда что мне делать? Спасибо за ур ответ. @ byf-ferdy –
Я обновил свой ответ. – ferdynator