2012-05-25 69 views
2

我有一個很長的操作,我無法再從UI運行,因爲它超過了最大執行時間以及內存限制。我非常瞭解如何在表中設置任務,並讓cron執行完成未完成任務的sfTaskPHP/Symfony:爲Cron /任務創建應用程序上下文

有人可以讓我知道以下幾點:

  1. 這是最好的PHP/Symfony的插件是管理作業/任務? 我沒有使用Zend,看到sfTaskLoggerPluginsfGearmanPluginsfJobQueuePlugin最近沒有更新過。
  2. 如何創建上下文並使app-config,設置等可用於任務?
  3. 如何向方法可以讀取的上下文添加一個參數以確定它們是否已被cron/task或HTTP請求調用?

所有輸入值得讚賞。

PS:剛纔提到Long script in admin, task in Symfony?和其他幾個人:)

回答

1

我認爲你最需要的是什麼標準的文件覆蓋。

http://www.symfony-project.org/cookbook/1_2/en/tasks

我使用Symfony的任務經常通過腳本,通過cron作業手斷。我通過命令行使用環境切換,就像文檔討論的一樣。我也使用參數傳遞。

Symfony任務功能非常強大,可以從CLI爲您提供所需的一切,以便進入您的應用程序並執行您所需的任務。

如果閱讀文檔後,您有更具體的問題,請發佈,我們會盡力回答您。

+0

謝謝隊友,我會試試看。有沒有辦法告訴我的函數,它在一個任務中運行? (針對HTTP請求) – Prasad

+0

我也可以在上下文中設置當前用戶嗎?模擬一個任務正在爲用戶運行? – Prasad

+0

對兩者都是。您可以爲您的任務創建自己的環境,並查詢上下文以獲取環境名稱並在您的函數中使用它。當然你也可以傳遞一個參數。 當你在一個任務中,你可以訪問任何你想要的。如果您選擇,您可以從sfGuardUser中提取用戶對象。 – richrosa

相關問題