2011-10-06 47 views
1

如何註冊代碼,在未來特定的時間叫什麼名字?如何在Symfony2的特定時間註冊要調用的函數?

我想允許用戶創建「對象」,並有一個處理程序自動電子郵件他們有關該對象的統計數據的給定時間後(比如1小時)。理想情況下,我可以註冊一個Symfony代碼庫的一部分處理程序,但我無法找到如何做到這一點(到目前爲止,所有Google搜索都是關於Symfony2的測試版的時間:P)

回答

3

我推薦你創建一個Symfony2控制檯命令,然後你可以訪問整個框架,包括依賴注入容器等等。這樣做的具體細節上的Symfony2 cookbook,這樣的食譜項是非常徹底的,我不會在這裏重複它們。如果您在與如example:my-task的任務名稱創建你的命令類,您就可以在彈出你的crontab入口文件類似以下內容:

# Run your command every 5 mins 
*/5 * * * * /path/to/symfony2/app/console example:my-task 

附加任何命令行參數適當如--env=prod。上面的路徑是到哪裏你的Symfony2的應用程序,然後能夠運行Symfony2的app/console腳本。

相關問題