Author: titang
Date: 2010-09-07 08:15:34 +0200 (Tue, 07 Sep 2010)
New Revision: 30842

Added:
   plugins/bsJobQueuePlugin/trunk/
   plugins/bsJobQueuePlugin/trunk/LICENSE
   plugins/bsJobQueuePlugin/trunk/README
   plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/
   plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/LICENSE
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/README
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/config/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/config/doctrine/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/config/doctrine/schema.yml
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueue.class.php
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueueTable.class.php
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueuePurgeTask.class.php
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueueStatTask.class.php
   
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/processJobQueueTask.class.php
   plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/package.xml
   plugins/bsJobQueuePlugin/trunk/package.xml.tmpl
Log:
[bsJobQueue] add initial files

Added: plugins/bsJobQueuePlugin/trunk/LICENSE
===================================================================
--- plugins/bsJobQueuePlugin/trunk/LICENSE                              (rev 0)
+++ plugins/bsJobQueuePlugin/trunk/LICENSE      2010-09-07 06:15:34 UTC (rev 
30842)
@@ -0,0 +1 @@
+LICENSE file
\ No newline at end of file

Added: plugins/bsJobQueuePlugin/trunk/README
===================================================================
--- plugins/bsJobQueuePlugin/trunk/README                               (rev 0)
+++ plugins/bsJobQueuePlugin/trunk/README       2010-09-07 06:15:34 UTC (rev 
30842)
@@ -0,0 +1 @@
+README file
\ No newline at end of file

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/LICENSE
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/LICENSE
                                (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/LICENSE
        2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1 @@
+LICENSE file
\ No newline at end of file

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/README
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/README
                         (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/README
 2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1 @@
+README file
\ No newline at end of file

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/config/doctrine/schema.yml
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/config/doctrine/schema.yml
                             (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/config/doctrine/schema.yml
     2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,29 @@
+bsJobQueue:
+  tableName: job_queue
+  actAs:
+    Timestampable: ~  
+  columns:
+    id:
+      type: integer(11)
+      primary: true
+      autoincrement: true
+    job_params:
+      type: string(255)
+      default: ''
+    table_class_name:
+      type: string(255)
+      default: ''
+    function_name:
+      type: string(255)
+      default: ''
+    status:
+      type: enum
+      values: [waiting, in_progress, done, has_error]
+      notnull: true
+    duration:
+      type: float
+    note:
+      type: blob
+    executed_at:
+      type: date
+      default: ''          
\ No newline at end of file

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueue.class.php
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueue.class.php
                          (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueue.class.php
  2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * PluginbsJobQueue
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ * 
+ * @package    ##PACKAGE##
+ * @subpackage ##SUBPACKAGE##
+ * @author     ##NAME## <##EMAIL##>
+ * @version    SVN: $Id: Builder.php 7490 2010-03-29 19:53:27Z jwage $
+ */
+abstract class PluginbsJobQueue extends BasebsJobQueue
+{
+       /**
+        * process the current job
+        *
+        */
+       public function process() {
+               //Init status in db
+               $timer = new sfTimer();
+               $timer->startTimer();
+               
+               $hasError = false;
+               $this->setStatus('in_progress');
+               $this->setExecutedAt(date('Y-m-d H:m:s'));
+               $this->save();
+
+               //process the job
+               try {
+                       $params = unserialize($this->getJobParams());
+               $table = Doctrine_Core::getTable($this->getTableClassName());
+               $table->{$this->getFunctionName()}($params);
+               } catch (Exception $e) {
+                       $hasError = true;
+                       $this->setStatus('has_error');
+                       $this->setNote($e->__toString());
+                       $this->save();
+               }
+               
+               if (!$hasError) {
+               //finalise the status in db
+               $this->setStatus('done');
+               $this->setDuration($timer->addTime());
+                       $this->save();
+               }
+               return true;
+       }
+}

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueueTable.class.php
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueueTable.class.php
                             (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/model/doctrine/PluginbsJobQueueTable.class.php
     2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * PluginbsJobQueueTable
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ */
+class PluginbsJobQueueTable extends Doctrine_Table
+{
+    /**
+     * Returns an instance of this class.
+     *
+     * @return object PluginbsJobQueueTable
+     */
+    public static function getInstance()
+    {
+        return Doctrine_Core::getTable('PluginbsJobQueue');
+    }
+               
+       /**
+        * record a new job
+        * @todo add some verification: tableName and FunctionName should exist
+        *
+        * @param unknown_type $tableName
+        * @param unknown_type $functionName
+        * @param unknown_type $params
+        */
+       public function createNewJob($tableName, $functionName, $params) {
+               $job = new bsJobQueue();
+               $job->setTableClassName($tableName);
+               $job->setFunctionName($functionName);
+               $job->setJobParams(serialize($params));
+               $job->setStatus('waiting');
+               $job->save();
+       }
+       
+       
+       /**
+        * delete the job successfully executed older than 1 week 
+        * and the job which was not executed unsuccesfully older than 1 month.
+        * 
+        * @return int $intNumDeleted the number of records which have been 
deleted
+        */
+       public function purge()
+       {
+           $objQuery           = $this->createQuery()
+                                       ->delete()
+                                       ->Where("status = 'done' AND 
executed_at < CURRENT_DATE - INTERVAL 1 WEEK")
+                                       ->orWhere("status = 'has_error' AND 
executed_at < CURRENT_DATE - INTERVAL 1 MONTH");
+                                       
+           $intNumDeleted      = $objQuery->execute();
+           $objQuery->free();
+           
+           return $intNumDeleted;
+       }
+}
\ No newline at end of file

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueuePurgeTask.class.php
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueuePurgeTask.class.php
                           (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueuePurgeTask.class.php
   2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,37 @@
+<?php
+
+class jobQueuePurgeTask extends sfBaseTask
+{
+  protected function configure()
+  {
+    // // add your own arguments here
+    // $this->addArguments(array(
+    //   new sfCommandArgument('my_arg', sfCommandArgument::REQUIRED, 'My 
argument'),
+    // ));
+
+    $this->addOptions(array(
+      new sfCommandOption('application', null, 
sfCommandOption::PARAMETER_REQUIRED, 'aramisauto'),
+      new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 
'The environment', 'dev'),
+      new sfCommandOption('connection', null, 
sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'cohiba'),
+      // add your own options here
+    ));
+
+    $this->namespace        = 'jobQueue';
+    $this->name             = 'purge';
+    $this->briefDescription = 'clean the jobQueue table';
+    $this->detailedDescription = <<<EOF
+delete the job successfully executed older than 1 week and the job which was 
not executed unsuccesfully older than 1 month
+EOF;
+  }
+
+  protected function execute($arguments = array(), $options = array())
+  {
+    // initialize the database connection
+    $databaseManager = new sfDatabaseManager($this->configuration);
+    $connection = $databaseManager->getDatabase($options['connection'] ? 
$options['connection'] : null)->getConnection();
+
+    // add your code here
+    $intNumDeleted  = Doctrine::getTable("bsJobQueue")->purge();
+    echo ">> ".$intNumDeleted." record(s) has been deleted.";
+  }
+}

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueueStatTask.class.php
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueueStatTask.class.php
                            (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/jobQueueStatTask.class.php
    2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,47 @@
+<?php
+
+class jobQueueStatTask extends sfBaseTask
+{
+  protected function configure()
+  {
+    // // add your own arguments here
+    // $this->addArguments(array(
+    //   new sfCommandArgument('my_arg', sfCommandArgument::REQUIRED, 'My 
argument'),
+    // ));
+
+    $this->addOptions(array(
+      new sfCommandOption('application', null, 
sfCommandOption::PARAMETER_REQUIRED, 'aramisauto'),
+      new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 
'The environment', 'dev'),
+      new sfCommandOption('connection', null, 
sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'cohiba'),
+      // add your own options here
+    ));
+
+    $this->namespace        = 'jobQueue';
+    $this->name             = 'stat';
+    $this->briefDescription = 'display statistic about the jobQueue';
+    $this->detailedDescription = <<<EOF
+Display the different status (waiting, done, has_error, in_progress) and the 
number of job for each status
+EOF;
+  }
+
+  protected function execute($arguments = array(), $options = array())
+  {
+    // initialize the database connection
+    $databaseManager = new sfDatabaseManager($this->configuration);
+    $connection = $databaseManager->getDatabase($options['connection'] ? 
$options['connection'] : null)->getConnection();
+
+    // add your code here
+
+    $objQuery = Doctrine::getTable("bsJobQueue")
+                       ->createQuery()
+                       ->select('COUNT(*) AS total, status')
+                       ->groupBy('status ASC');
+    $arrResult = $objQuery->execute();
+    
+    foreach($arrResult as $objBsJobQueue) {
+       $this->logSection(str_pad($objBsJobQueue->getStatus(), 20), 
$objBsJobQueue->getTotal());
+    }
+    
+    $objQuery->free();
+  }
+}

Added: 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/processJobQueueTask.class.php
===================================================================
--- 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/processJobQueueTask.class.php
                         (rev 0)
+++ 
plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/bsJobQueuePlugin-0.1.0/lib/task/processJobQueueTask.class.php
 2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,115 @@
+<?php
+/**
+ * This class contain the method to update the table vehicle_view
+ * tip: you can use #var_dump(number_format(memory_get_peak_usage())); to debug
+ */
+class processJobQueueTask extends sfBaseTask
+{
+       protected function configure()
+    {
+        $this->namespace = 'jobQueue';
+        $this->name = 'process';
+        $this->briefDescription = 'will process the job in the queue';
+
+        $this->detailedDescription = <<<EOF
+will process the job in the queue
+EOF;
+
+        $this->addOptions(array(
+      new sfCommandOption('application', null, 
sfCommandOption::PARAMETER_REQUIRED, 'The application name', 'aramisauto'),
+      new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 
'The environment', 'dev'),
+      new sfCommandOption('connection', null, 
sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'cohiba'),
+      // add your own options here
+    ));
+        
+       }
+
+       protected function execute($arguments = array(), $options = array())
+    {
+
+       
+       //initialize the database connection
+        $databaseManager = new sfDatabaseManager($this->configuration);
+        $connection = $databaseManager->getDatabase("cohiba")->getConnection();
+        
+        $context = sfContext::createInstance($this->configuration);
+               $context->getRequest()->setRelativeUrlRoot("");
+               
+
+               $host = sfConfig::get('ARAMIS_HOST');
+               // set separate prefixes for assets and links   
+               $_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', 
sfConfig::get('sf_web_dir'));        
+               $routing = $context->getRouting();
+        $options = $routing->getOptions();
+        $options['context']['host'] = $host;
+        $options['context']['prefix'] = '';
+       $routing->initialize($this->dispatcher, $routing->getCache(), $options);
+       $context->set('routing', $routing); 
+               
+       $timer = new sfTimer();
+               $timer->startTimer();
+               
+               /**
+                * when the cron runs, tasks that are with 'in_progress' for 
more than 1 hour should be updated, and status set to 'waiting'.
+                * This is to rerun tasks that encounter a fatal error (DB 
failure) when running.
+                */
+               $this->logSection('jobQueue', "Updating the job queue which 
'in_progress' for more than 1 hour");
+        $q = Doctrine::getTable('bsJobQueue')->createQuery()
+             ->update()
+             ->set('status', "'waiting'")
+             ->where('status = ?', 'in_progress')
+             ->andWhere('executed_at < (NOW() - INTERVAL 1 HOUR)')
+             ->execute();
+             ;
+
+               //retrieving the vehicle from the view
+               $this->logSection('bsJobQueue', 'Retrieving the job queue...');
+        $q = Doctrine::getTable('bsJobQueue')->createQuery('j')
+             ->select('j.id')
+             
+             ->where('j.id = ?', '15842')
+             ;
+
+
+        $jobQueueIds = $q->execute(array(), "list_value");
+        $q->free();
+               $this->logSection('bsJobQueue', 'Retrieving the job queue... 
done '.$timer->addTime().' s');
+
+               $this->logSection('bsJobQueue', 'Processing the job queue...');
+        foreach ($jobQueueIds as $jobQueueId) {
+               $job = 
Doctrine::getTable('bsJobQueue')->findOneById($jobQueueId);
+               $status = $job->getStatus();
+               if (true) {
+                       $job->process();
+                       $status = $job->getStatus();
+                       if ($status != "has_error") {
+                               $this->logSection('bsJobQueue', 'Job 
#'.$job->getId().' processed succesfully in '.$job->getDuration().'s');    
+                       } else {
+                               $content = "Error occurred while processing job 
#".$job->getId().".\nPlease check the table job_queue for the details.\n";
+                               $content .= 
"\n======================================================================\n";
+                               $content .= "Id: ".$job->getId()."\n";
+                               $content .= "Class: 
".$job->getTableClassName()."\n";
+                               $content .= "Function: 
".$job->getFunctionName()."\n";
+                               $content .= "Executed at: 
".$job->getExecutedAt();
+                               $content .= 
"\n======================================================================\n";
+                               $content .= "Error: \n";
+                               $content .= $job->getNote();
+                               $content .= 
"\n======================================================================\n";
+                               $content .= "\n\nEmail sent by the task 
jobQueue:process";
+                               
+                                       $objMessage     = 
$this->getMailer()->compose(
+                                                       '[email protected]',
+                                                       
sfConfig::get('app_mail_support'),
+                                                       'Aramis - Error 
occurred while processing job #'.$job->getId(),
+                                                       $content
+                               );
+               
+                                       $this->getMailer()->send($objMessage);
+ 
+                               $this->logSection('bsJobQueue', '!!! Job 
#'.$job->getId().' has error while processing and is not completed.');
+                       }
+               }
+        }
+               $this->logSection('bsJobQueue', 'Processing the job queue... 
done '.$timer->addTime().' s');
+       }
+}
\ No newline at end of file

Added: plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/package.xml
===================================================================
--- plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/package.xml           
                (rev 0)
+++ plugins/bsJobQueuePlugin/trunk/bsJobQueuePlugin-0.1.0/package.xml   
2010-09-07 06:15:34 UTC (rev 30842)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package packagerversion="1.7.1" version="2.0" 
xmlns="http://pear.php.net/dtd/package-2.0"; 
xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 
http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 
http://pear.php.net/dtd/package-2.0.xsd";>
+ <name>bsJobQueuePlugin</name>
+ <channel>plugins.symfony-project.org</channel>
+ <summary>bsJobQueue</summary>
+ <description>This plugin allow to postpone the execution of some 
execution</description>
+ <lead>
+  <name>Mickael HOAREAU</name>
+  <user>Mickael HOAREAU</user>
+  <email>[email protected]</email>
+  <active>yes</active>
+ </lead>
+ <date>2010-08-31</date>
+ <time>06:33:17</time>
+ <version>
+  <release>0.1.0</release>
+  <api>0.1.0</api>
+ </version>
+ <stability>
+  <release>devel</release>
+  <api>devel</api>
+ </stability>
+ <license uri="http://www.symfony-project.org/license";>MIT license</license>
+ <notes>-</notes>
+ <contents>
+  <dir name="/">
+   <file md5sum="53d9466072ea1199c64bbea79af48059" 
name="config/doctrine/schema.yml" role="data" />
+   <file md5sum="c66cccb9c472332e4263e3bec3ea35eb" 
name="lib/task/jobQueueStatTask.class.php" role="data" />
+   <file md5sum="1d72f3d99f57d922bcfd690b772833fa" 
name="lib/task/jobQueuePurgeTask.class.php" role="data" />
+   <file md5sum="653c5fca12d08461d425cf83aecaf2df" 
name="lib/task/processJobQueueTask.class.php" role="data" />
+   <file md5sum="a79dfe72d66cfab906e327669048152f" 
name="lib/model/doctrine/PluginbsJobQueueTable.class.php" role="data" />
+   <file md5sum="f3a5b804a61cf3e04804c0745e185309" 
name="lib/model/doctrine/PluginbsJobQueue.class.php" role="data" />
+   <file md5sum="d75c3009f48527ed75287833683113cf" name="README" role="data" />
+   <file md5sum="18912ab97d474e774974a4561712331a" name="LICENSE" role="data" 
/>
+  </dir>
+ </contents>
+ <dependencies>
+  <required>
+   <php>
+    <min>5.2.4</min>
+   </php>
+   <pearinstaller>
+    <min>1.4.1</min>
+   </pearinstaller>
+   <package>
+    <name>symfony</name>
+    <channel>pear.symfony-project.com</channel>
+    <min>1.2.0</min>
+    <max>1.3.0</max>
+    <exclude>1.3.0</exclude>
+   </package>
+  </required>
+ </dependencies>
+ <phprelease />
+ <changelog />
+</package>

Added: plugins/bsJobQueuePlugin/trunk/package.xml.tmpl
===================================================================
--- plugins/bsJobQueuePlugin/trunk/package.xml.tmpl                             
(rev 0)
+++ plugins/bsJobQueuePlugin/trunk/package.xml.tmpl     2010-09-07 06:15:34 UTC 
(rev 30842)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="##ENCODING##"?>
+<package xmlns="http://pear.php.net/dtd/package-2.0"; 
xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; packagerversion="1.4.1" 
version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 
http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 
http://pear.php.net/dtd/package-2.0.xsd";>
+  <name>bsJobQueuePlugin</name>
+  <channel>plugins.symfony-project.org</channel>
+  <summary>bsJobQueue</summary>
+  <description>This plugin allow to postpone the execution of some 
execution</description>
+  <lead>
+    <name>Mickael HOAREAU</name>
+    <user>Mickael HOAREAU</user>
+    <email>[email protected]</email>
+    <active>yes</active>
+  </lead>
+  <date>##CURRENT_DATE##</date>
+  <version>
+    <release>##PLUGIN_VERSION##</release>
+    <api>##API_VERSION##</api>
+  </version>
+  <stability>
+    <release>##STABILITY##</release>
+    <api>##STABILITY##</api>
+  </stability>
+  <license uri="http://www.symfony-project.org/license";>MIT license</license>
+  <notes>-</notes>
+  <contents>
+    ##CONTENTS##
+  </contents>
+  <dependencies>
+    <required>
+      <php>
+        <min>5.2.4</min>
+      </php>
+      <pearinstaller>
+        <min>1.4.1</min>
+      </pearinstaller>
+      <package>
+        <name>symfony</name>
+        <channel>pear.symfony-project.com</channel>
+        <min>1.2.0</min>
+        <max>1.3.0</max>
+        <exclude>1.3.0</exclude>
+      </package>
+    </required>
+  </dependencies>
+  <phprelease></phprelease>
+  <changelog></changelog>
+</package>

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.

Reply via email to