2012-05-29 57 views
0

我想在symfony(版本1.4.8)中執行cron。在symfony中執行crons

我想通過命令使用任務:php symfony generate:task taskName

通過此生成的任務存儲在lib/task目錄中,它可以訪問我所有外部'lib'文件。我還希望我的其他lib文件夾,即應用程序中存在的庫也可以在此任務中訪問。我怎樣才能做到這一點?

我們什麼時候在作業中將$namespace設置爲'項目'和'應用程序'?

回答

5

你可以做使用crontab中的以下

/usr/bin/php /var/www/yourproject/symfony namespace:task --param=value 

您需要更改/usr/bin/php到您的路徑匹配到PHP可執行文件和/var/www/yourproject到適合自己的項目目錄

namespacetask應無論您在任務中配置什麼:

$this->namespace = 'mynamespace'; 
$this->name = 'mytaskname'; 

這裏例如命名空間是mynamespace和TASKNAME是mytaskname

以下是默認autoload.yml顯示哪些文件默認自動載入的內容:

autoload: 
    # project 
    project: 
    name:   project 
    path:   %SF_LIB_DIR% 
    recursive:  true 
    exclude:  [model, symfony, vendor] 

    project_model: 
    name:   project model 
    path:   %SF_LIB_DIR%/model 
    recursive:  true 

    # application 
    application: 
    name:   application 
    path:   %SF_APP_LIB_DIR% 
    recursive:  true 

    modules: 
    name:   module 
    path:   %SF_APP_DIR%/modules/*/lib 
    prefix:   1 
    recursive:  true 
+0

這裏什麼呢PARAM分別表示? – user1085195

+0

@ user1085195任何東西......無論任務已被設置爲接受 - 可以是「--env = prod」或「--application = frontend」 – ManseUK

+0

我得到錯誤--->「沒有定義任何任務「命名空間」命名空間。「 – user1085195