在symfony中执行crons

时间:2012-05-29 12:27:35

标签: php symfony1 symfony-1.4

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

我正在尝试通过命令使用任务:php symfony generate:task taskName

通过它生成的任务存储在lib/task目录中,它可以访问我所有的外部'lib'文件。我还想要我的其他lib文件夹,即应用程序中存在的库也可以在此任务中访问。我怎么能这样做?

我们什么时候在任务中将$namespace设置为“项目”和“应用程序”?

1 个答案:

答案 0 :(得分: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,任务名为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