我在我的項目中創建了一個控制檯命令。我希望它在每天下午7點執行。我怎麼能在symfony2中做到這一點?一個基本的PHP cron工作方式或symfony2有更方便的東西? 感謝symfony2中的Cron作業
回答
您可以使用基本的cron。在debian的或Ubuntu的你可以這樣做:
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
命令。它默認可用於windows 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
文件是正確的。
您可以只設置一個cron在crontab來執行的symfony命令,
例如
0 19 * * * /無功/網絡/ symfony中/應用/控制檯YOUR_COMMAND
Nop,您必須以www-data用戶身份運行該命令,否則可能會破壞緩存。 –
我認爲這是一個很好的問題。
我最近做了一些工作(使用ZF1組件,而不是完整的MVC),其中cron作業存在各種隱藏的依賴關係以執行任務,並且我不得不花費很多時間添加註釋並創建文檔來警告任何人跟隨我這些克朗存在什麼,他們做了什麼,他們存儲在哪裏等等。
它永遠不會醒悟過來了,會有一個ZF組件只是爲了這個目的,很多依賴於控制器雖然...
,對不起,我不回答,雖然你的直接問題。
FWIW
您的鏈接已過時。 – ferdynator
這是一個答案? – Trix
注意用戶執行命令。如果你以root身份運行它,root可以擁有Symfony緩存,然後破壞你的站點HTTP端(因爲nginx將以www數據用戶身份運行)。
使用Docker,我使用phusion基礎映像「setuser」方法來強制www-data用戶。
- 1. VPS中的Symfony2 cron作業命令
- 2. Symfony2從cron作業執行腳本
- 3. cron作業中GOLANG
- 4. Ubuntu中的Cron作業
- 5. codeigniter中的Cron作業
- 6. cron作業windows
- 7. Ubuntu cron作業
- 8. random cron作業
- 9. cron作業
- 10. 在cron作業
- 11. CRON作業codeigniter
- 12. 在cron作業
- 13. 笨cron作業
- 14. cron作業PHP
- 15. cron作業
- 16. CakePHP的cron作業
- 17. Laravel的Cron作業
- 18. 的cPanel cron作業
- 19. 在沒有cron作業選項的cPanel上設置cron作業
- 20. cron作業報錯
- 21. Cron作業限制
- 22. Cron作業錯誤
- 23. cron作業命令
- 24. 設置cron作業
- 25. PHP在cron作業
- 26. 計劃cron作業
- 27. Cron作業幫助
- 28. cron作業問題
- 29. 處理Cron作業
- 30. cron作業問題
Jep,這是要走的路。 –
我的操作系統是window7。我無法直接運行crontab命令。那我該怎麼辦?謝謝你的回答。 @ byf-ferdy –
我更新了我的答案。 – ferdynator