symfony1.2のタスク処理でdoctrineとかcomponent取得とか

タスク作ってメール送信とかやろうと思ったらいろいろ初期化しなきゃならんかった。

protected function execute($arguments = array(), $options = array())
{
  // initialize the database connection
  new sfDatabaseManager($this->configuration);
  $conn = Doctrine_Manager::getInstance()->getConnection($options['connection']);

  // initialize the context
  $conf = $this->configuration->getApplicationConfiguration($options['application'],$options['env'],false);
  sfContext::createInstance($conf);

  // get component
  require_once sfConfig::get('sf_symfony_lib_dir').'/helper/PartialHelper.php';
  $body = get_component('モジュール名','コンポーネント名');

}