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.