airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ndo...@apache.org
Subject [09/57] [partial] airavata-php-gateway git commit: AIRAVATA 1632 + Job Description for Admin Dashboard
Date Fri, 01 May 2015 21:32:56 GMT
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Pagination/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Pagination/composer.json b/vendor/laravel/framework/src/Illuminate/Pagination/composer.json
new file mode 100755
index 0000000..432459c
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Pagination/composer.json
@@ -0,0 +1,30 @@
+{
+    "name": "illuminate/pagination",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/http": "4.2.*",
+        "illuminate/support": "4.2.*",
+        "illuminate/view": "4.2.*",
+        "symfony/http-foundation": "2.5.*",
+        "symfony/translation": "2.5.*"
+    },
+    "autoload": {
+        "psr-0": {
+            "Illuminate\\Pagination": ""
+        }
+    },
+    "target-dir": "Illuminate/Pagination",
+    "extra": {
+        "branch-alias": {
+            "dev-master": "4.2-dev"
+        }
+    },
+    "minimum-stability": "dev"
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Pagination/views/simple.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Pagination/views/simple.php b/vendor/laravel/framework/src/Illuminate/Pagination/views/simple.php
new file mode 100755
index 0000000..3a13482
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Pagination/views/simple.php
@@ -0,0 +1,15 @@
+<?php
+	$presenter = new Illuminate\Pagination\BootstrapPresenter($paginator);
+
+	$trans = $environment->getTranslator();
+?>
+
+<?php if ($paginator->getLastPage() > 1): ?>
+	<ul class="pager">
+		<?php
+			echo $presenter->getPrevious($trans->trans('pagination.previous'));
+
+			echo $presenter->getNext($trans->trans('pagination.next'));
+		?>
+	</ul>
+<?php endif; ?>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Pagination/views/slider-3.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Pagination/views/slider-3.php b/vendor/laravel/framework/src/Illuminate/Pagination/views/slider-3.php
new file mode 100755
index 0000000..5757e6c
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Pagination/views/slider-3.php
@@ -0,0 +1,9 @@
+<?php
+	$presenter = new Illuminate\Pagination\BootstrapPresenter($paginator);
+?>
+
+<?php if ($paginator->getLastPage() > 1): ?>
+	<ul class="pagination">
+			<?php echo $presenter->render(); ?>
+	</ul>
+<?php endif; ?>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Pagination/views/slider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Pagination/views/slider.php b/vendor/laravel/framework/src/Illuminate/Pagination/views/slider.php
new file mode 100755
index 0000000..2344162
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Pagination/views/slider.php
@@ -0,0 +1,11 @@
+<?php
+	$presenter = new Illuminate\Pagination\BootstrapPresenter($paginator);
+?>
+
+<?php if ($paginator->getLastPage() > 1): ?>
+	<div class="pagination">
+		<ul>
+			<?php echo $presenter->render(); ?>
+		</ul>
+	</div>
+<?php endif; ?>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php b/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php
new file mode 100755
index 0000000..0fe29f6
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php
@@ -0,0 +1,142 @@
+<?php namespace Illuminate\Queue;
+
+use Pheanstalk_Job;
+use Pheanstalk_Pheanstalk as Pheanstalk;
+use Illuminate\Queue\Jobs\BeanstalkdJob;
+
+class BeanstalkdQueue extends Queue implements QueueInterface {
+
+	/**
+	 * The Pheanstalk instance.
+	 *
+	 * @var \Pheanstalk_Pheanstalk
+	 */
+	protected $pheanstalk;
+
+	/**
+	 * The name of the default tube.
+	 *
+	 * @var string
+	 */
+	protected $default;
+
+	/**
+	 * The "time to run" for all pushed jobs.
+	 *
+	 * @var int
+	 */
+	protected $timeToRun;
+
+	/**
+	 * Create a new Beanstalkd queue instance.
+	 *
+	 * @param  \Pheanstalk_Pheanstalk  $pheanstalk
+	 * @param  string  $default
+	 * @param  int  $timeToRun
+	 * @return void
+	 */
+	public function __construct(Pheanstalk $pheanstalk, $default, $timeToRun)
+	{
+		$this->default = $default;
+		$this->timeToRun = $timeToRun;
+		$this->pheanstalk = $pheanstalk;
+	}
+
+	/**
+	 * Push a new job onto the queue.
+	 *
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function push($job, $data = '', $queue = null)
+	{
+		return $this->pushRaw($this->createPayload($job, $data), $queue);
+	}
+
+	/**
+	 * Push a raw payload onto the queue.
+	 *
+	 * @param  string  $payload
+	 * @param  string  $queue
+	 * @param  array   $options
+	 * @return mixed
+	 */
+	public function pushRaw($payload, $queue = null, array $options = array())
+	{
+		return $this->pheanstalk->useTube($this->getQueue($queue))->put(
+			$payload, Pheanstalk::DEFAULT_PRIORITY, Pheanstalk::DEFAULT_DELAY, $this->timeToRun
+		);
+	}
+
+	/**
+	 * Push a new job onto the queue after a delay.
+	 *
+	 * @param  \DateTime|int  $delay
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function later($delay, $job, $data = '', $queue = null)
+	{
+		$payload = $this->createPayload($job, $data);
+
+		$pheanstalk = $this->pheanstalk->useTube($this->getQueue($queue));
+
+		return $pheanstalk->put($payload, Pheanstalk::DEFAULT_PRIORITY, $this->getSeconds($delay), $this->timeToRun);
+	}
+
+	/**
+	 * Pop the next job off of the queue.
+	 *
+	 * @param  string  $queue
+	 * @return \Illuminate\Queue\Jobs\Job|null
+	 */
+	public function pop($queue = null)
+	{
+		$queue = $this->getQueue($queue);
+
+		$job = $this->pheanstalk->watchOnly($queue)->reserve(0);
+
+		if ($job instanceof Pheanstalk_Job)
+		{
+			return new BeanstalkdJob($this->container, $this->pheanstalk, $job, $queue);
+		}
+	}
+
+	/**
+	 * Delete a message from the Beanstalk queue.
+	 *
+	 * @param  string  $queue
+	 * @param  string  $id
+	 * @return void
+	 */
+	public function deleteMessage($queue, $id)
+	{
+		$this->pheanstalk->useTube($this->getQueue($queue))->delete($id);
+	}
+
+	/**
+	 * Get the queue or return the default.
+	 *
+	 * @param  string|null  $queue
+	 * @return string
+	 */
+	public function getQueue($queue)
+	{
+		return $queue ?: $this->default;
+	}
+
+	/**
+	 * Get the underlying Pheanstalk instance.
+	 *
+	 * @return \Pheanstalk_Pheanstalk
+	 */
+	public function getPheanstalk()
+	{
+		return $this->pheanstalk;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php b/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php
new file mode 100644
index 0000000..a182ede
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php
@@ -0,0 +1,182 @@
+<?php namespace Illuminate\Queue\Capsule;
+
+use Illuminate\Queue\QueueManager;
+use Illuminate\Container\Container;
+use Illuminate\Queue\QueueServiceProvider;
+use Illuminate\Support\Traits\CapsuleManagerTrait;
+
+class Manager {
+
+	use CapsuleManagerTrait;
+
+	/**
+	 * The queue manager instance.
+	 *
+	 * @var \Illuminate\Queue\QueueManager
+	 */
+	protected $manager;
+
+	/**
+	 * Create a new queue capsule manager.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @return void
+	 */
+	public function __construct(Container $container = null)
+	{
+		$this->setupContainer($container);
+
+		// Once we have the container setup, we will setup the default configuration
+		// options in the container "config" bindings. This just makes this queue
+		// manager behave correctly since all the correct binding are in place.
+		$this->setupDefaultConfiguration();
+
+		$this->setupManager();
+
+		$this->registerConnectors();
+	}
+
+	/**
+	 * Setup the default queue configuration options.
+	 *
+	 * @return void
+	 */
+	protected function setupDefaultConfiguration()
+	{
+		$this->container['config']['queue.default'] = 'default';
+	}
+
+	/**
+	 * Build the queue manager instance.
+	 *
+	 * @return void
+	 */
+	protected function setupManager()
+	{
+		$this->manager = new QueueManager($this->container);
+	}
+
+	/**
+	 * Register the default connectors that the component ships with.
+	 *
+	 * @return void
+	 */
+	protected function registerConnectors()
+	{
+		$provider = new QueueServiceProvider($this->container);
+
+		$provider->registerConnectors($this->manager);
+	}
+
+	/**
+	 * Get a connection instance from the global manager.
+	 *
+	 * @param  string  $connection
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public static function connection($connection = null)
+	{
+		return static::$instance->getConnection($connection);
+	}
+
+	/**
+	 * Push a new job onto the queue.
+	 *
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @param  string  $connection
+	 * @return mixed
+	 */
+	public static function push($job, $data = '', $queue = null, $connection = null)
+	{
+		return static::$instance->connection($connection)->push($job, $data, $queue);
+	}
+
+	/**
+	 * Push a new an array of jobs onto the queue.
+	 *
+	 * @param  array   $jobs
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @param  string  $connection
+	 * @return mixed
+	 */
+	public static function bulk($jobs, $data = '', $queue = null, $connection = null)
+	{
+		return static::$instance->connection($connection)->bulk($jobs, $data, $queue);
+	}
+
+	/**
+	 * Push a new job onto the queue after a delay.
+	 *
+	 * @param  \DateTime|int  $delay
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @param  string  $connection
+	 * @return mixed
+	 */
+	public static function later($delay, $job, $data = '', $queue = null, $connection = null)
+	{
+		return static::$instance->connection($connection)->later($delay, $job, $data, $queue);
+	}
+
+	/**
+	 * Get a registered connection instance.
+	 *
+	 * @param  string  $name
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function getConnection($name = null)
+	{
+		return $this->manager->connection($name);
+	}
+
+	/**
+	 * Register a connection with the manager.
+	 *
+	 * @param  array   $config
+	 * @param  string  $name
+	 * @return void
+	 */
+	public function addConnection(array $config, $name = 'default')
+	{
+		$this->container['config']["queue.connections.{$name}"] = $config;
+	}
+
+	/**
+	 * Get the queue manager instance.
+	 *
+	 * @return \Illuminate\Queue\QueueManager
+	 */
+	public function getQueueManager()
+	{
+		return $this->manager;
+	}
+
+	/**
+	 * Pass dynamic instance methods to the manager.
+	 *
+	 * @param  string  $method
+	 * @param  array  $parameters
+	 * @return mixed
+	 */
+	public function __call($method, $parameters)
+	{
+		return call_user_func_array(array($this->manager, $method), $parameters);
+	}
+
+	/**
+	 * Dynamically pass methods to the default connection.
+	 *
+	 * @param  string  $method
+	 * @param  array   $parameters
+	 * @return mixed
+	 */
+	public static function __callStatic($method, $parameters)
+	{
+		return call_user_func_array(array(static::connection(), $method), $parameters);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php
new file mode 100755
index 0000000..12607cd
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php
@@ -0,0 +1,24 @@
+<?php namespace Illuminate\Queue\Connectors;
+
+use Illuminate\Queue\BeanstalkdQueue;
+use Pheanstalk_Pheanstalk as Pheanstalk;
+use Pheanstalk_PheanstalkInterface as PheanstalkInterface;
+
+class BeanstalkdConnector implements ConnectorInterface {
+
+	/**
+	 * Establish a queue connection.
+	 *
+	 * @param  array  $config
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function connect(array $config)
+	{
+		$pheanstalk = new Pheanstalk($config['host'], array_get($config, 'port', PheanstalkInterface::DEFAULT_PORT));
+
+		return new BeanstalkdQueue(
+			$pheanstalk, $config['queue'], array_get($config, 'ttr', Pheanstalk::DEFAULT_TTR)
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php
new file mode 100755
index 0000000..e952833
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php
@@ -0,0 +1,13 @@
+<?php namespace Illuminate\Queue\Connectors;
+
+interface ConnectorInterface {
+
+	/**
+	 * Establish a queue connection.
+	 *
+	 * @param  array  $config
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function connect(array $config);
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Connectors/IronConnector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Connectors/IronConnector.php b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/IronConnector.php
new file mode 100755
index 0000000..071c657
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/IronConnector.php
@@ -0,0 +1,59 @@
+<?php namespace Illuminate\Queue\Connectors;
+
+use IronMQ;
+use Illuminate\Http\Request;
+use Illuminate\Queue\IronQueue;
+use Illuminate\Encryption\Encrypter;
+
+class IronConnector implements ConnectorInterface {
+
+	/**
+	 * The encrypter instance.
+	 *
+	 * @var \Illuminate\Encryption\Encrypter
+	 */
+	protected $crypt;
+
+	/**
+	 * The current request instance.
+	 *
+	 * @var \Illuminate\Http\Request
+	 */
+	protected $request;
+
+	/**
+	 * Create a new Iron connector instance.
+	 *
+	 * @param  \Illuminate\Encryption\Encrypter  $crypt
+	 * @param  \Illuminate\Http\Request  $request
+	 * @return void
+	 */
+	public function __construct(Encrypter $crypt, Request $request)
+	{
+		$this->crypt = $crypt;
+		$this->request = $request;
+	}
+
+	/**
+	 * Establish a queue connection.
+	 *
+	 * @param  array  $config
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function connect(array $config)
+	{
+		$ironConfig = array('token' => $config['token'], 'project_id' => $config['project']);
+
+		if (isset($config['host'])) $ironConfig['host'] = $config['host'];
+
+		$iron = new IronMQ($ironConfig);
+
+		if (isset($config['ssl_verifypeer']))
+		{
+			$iron->ssl_verifypeer = $config['ssl_verifypeer'];
+		}
+
+		return new IronQueue($iron, $this->request, $config['queue'], $config['encrypt']);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php
new file mode 100644
index 0000000..59821fd
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php
@@ -0,0 +1,52 @@
+<?php namespace Illuminate\Queue\Connectors;
+
+use Illuminate\Redis\Database;
+use Illuminate\Queue\RedisQueue;
+
+class RedisConnector implements ConnectorInterface {
+
+	/**
+	* The Redis database instance.
+	*
+	 * @var \Illuminate\Redis\Database
+	 */
+	protected $redis;
+
+	/**
+	 * The connection name.
+	 *
+	 * @var string
+	 */
+	protected $connection;
+
+	/**
+	 * Create a new Redis queue connector instance.
+	 *
+	 * @param  \Illuminate\Redis\Database  $redis
+	 * @param  string|null  $connection
+	 * @return void
+	 */
+	public function __construct(Database $redis, $connection = null)
+	{
+		$this->redis = $redis;
+		$this->connection = $connection;
+	}
+
+	/**
+	 * Establish a queue connection.
+	 *
+	 * @param  array  $config
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function connect(array $config)
+	{
+		$queue = new RedisQueue(
+			$this->redis, $config['queue'], array_get($config, 'connection', $this->connection)
+		);
+
+		$queue->setExpire(array_get($config, 'expire', 60));
+
+		return $queue;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php
new file mode 100755
index 0000000..86aeeca
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php
@@ -0,0 +1,21 @@
+<?php namespace Illuminate\Queue\Connectors;
+
+use Aws\Sqs\SqsClient;
+use Illuminate\Queue\SqsQueue;
+
+class SqsConnector implements ConnectorInterface {
+
+	/**
+	 * Establish a queue connection.
+	 *
+	 * @param  array  $config
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function connect(array $config)
+	{
+		$sqs = SqsClient::factory($config);
+
+		return new SqsQueue($sqs, $config['queue']);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php
new file mode 100755
index 0000000..1c3ae66
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php
@@ -0,0 +1,18 @@
+<?php namespace Illuminate\Queue\Connectors;
+
+use Illuminate\Queue\SyncQueue;
+
+class SyncConnector implements ConnectorInterface {
+
+	/**
+	 * Establish a queue connection.
+	 *
+	 * @param  array  $config
+	 * @return \Illuminate\Queue\QueueInterface
+	 */
+	public function connect(array $config)
+	{
+		return new SyncQueue;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php
new file mode 100644
index 0000000..0b485dd
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php
@@ -0,0 +1,70 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Console\Command;
+use Illuminate\Filesystem\Filesystem;
+
+class FailedTableCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:failed-table';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Create a migration for the failed queue jobs database table';
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * Create a new session table command instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @return void
+	 */
+	public function __construct(Filesystem $files)
+	{
+		parent::__construct();
+
+		$this->files = $files;
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$fullPath = $this->createBaseMigration();
+
+		$this->files->put($fullPath, $this->files->get(__DIR__.'/stubs/failed_jobs.stub'));
+
+		$this->info('Migration created successfully!');
+	}
+
+	/**
+	 * Create a base migration file for the table.
+	 *
+	 * @return string
+	 */
+	protected function createBaseMigration()
+	{
+		$name = 'create_failed_jobs_table';
+
+		$path = $this->laravel['path'].'/database/migrations';
+
+		return $this->laravel['migration.creator']->create($name, $path);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php
new file mode 100644
index 0000000..0ece99b
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php
@@ -0,0 +1,33 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Console\Command;
+
+class FlushFailedCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:flush';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Flush all of the failed queue jobs';
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->laravel['queue.failer']->flush();
+
+		$this->info('All failed jobs deleted successfully!');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php
new file mode 100644
index 0000000..fef76f0
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php
@@ -0,0 +1,51 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputArgument;
+
+class ForgetFailedCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:forget';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Delete a failed queue job';
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		if ($this->laravel['queue.failer']->forget($this->argument('id')))
+		{
+			$this->info('Failed job deleted successfully!');
+		}
+		else
+		{
+			$this->error('No failed job matches the given ID.');
+		}
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('id', InputArgument::REQUIRED, 'The ID of the failed job'),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php
new file mode 100644
index 0000000..03bc411
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php
@@ -0,0 +1,62 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Console\Command;
+
+class ListFailedCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:failed';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'List all of the failed queue jobs';
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$rows = array();
+
+		foreach ($this->laravel['queue.failer']->all() as $failed)
+		{
+			$rows[] = $this->parseFailedJob((array) $failed);
+		}
+
+		if (count($rows) == 0)
+		{
+			return $this->info('No failed jobs!');
+		}
+
+		$table = $this->getHelperSet()->get('table');
+
+		$table->setHeaders(array('ID', 'Connection', 'Queue', 'Class', 'Failed At'))
+              ->setRows($rows)
+              ->render($this->output);
+	}
+
+	/**
+	 * Parse the failed job row.
+	 *
+	 * @param  array  $failed
+	 * @return array
+	 */
+	protected function parseFailedJob(array $failed)
+	{
+		$row = array_values(array_except($failed, array('payload')));
+
+		array_splice($row, 3, 0, array_get(json_decode($failed['payload'], true), 'job'));
+
+		return $row;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php
new file mode 100755
index 0000000..f138b3c
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php
@@ -0,0 +1,145 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Queue\Listener;
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class ListenCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:listen';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Listen to a given queue';
+
+	/**
+	 * The queue listener instance.
+	 *
+	 * @var \Illuminate\Queue\Listener
+	 */
+	protected $listener;
+
+	/**
+	 * Create a new queue listen command.
+	 *
+	 * @param  \Illuminate\Queue\Listener  $listener
+	 * @return void
+	 */
+	public function __construct(Listener $listener)
+	{
+		parent::__construct();
+
+		$this->listener = $listener;
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->setListenerOptions();
+
+		$delay = $this->input->getOption('delay');
+
+		// The memory limit is the amount of memory we will allow the script to occupy
+		// before killing it and letting a process manager restart it for us, which
+		// is to protect us against any memory leaks that will be in the scripts.
+		$memory = $this->input->getOption('memory');
+
+		$connection = $this->input->getArgument('connection');
+
+		$timeout = $this->input->getOption('timeout');
+
+		// We need to get the right queue for the connection which is set in the queue
+		// configuration file for the application. We will pull it based on the set
+		// connection being run for the queue operation currently being executed.
+		$queue = $this->getQueue($connection);
+
+		$this->listener->listen(
+			$connection, $queue, $delay, $memory, $timeout
+		);
+	}
+
+	/**
+	 * Get the name of the queue connection to listen on.
+	 *
+	 * @param  string  $connection
+	 * @return string
+	 */
+	protected function getQueue($connection)
+	{
+		if (is_null($connection))
+		{
+			$connection = $this->laravel['config']['queue.default'];
+		}
+
+		$queue = $this->laravel['config']->get("queue.connections.{$connection}.queue", 'default');
+
+		return $this->input->getOption('queue') ?: $queue;
+	}
+
+	/**
+	 * Set the options on the queue listener.
+	 *
+	 * @return void
+	 */
+	protected function setListenerOptions()
+	{
+		$this->listener->setEnvironment($this->laravel->environment());
+
+		$this->listener->setSleep($this->option('sleep'));
+
+		$this->listener->setMaxTries($this->option('tries'));
+
+		$this->listener->setOutputHandler(function($type, $line)
+		{
+			$this->output->write($line);
+		});
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('connection', InputArgument::OPTIONAL, 'The name of connection'),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('queue', null, InputOption::VALUE_OPTIONAL, 'The queue to listen on', null),
+
+			array('delay', null, InputOption::VALUE_OPTIONAL, 'Amount of time to delay failed jobs', 0),
+
+			array('memory', null, InputOption::VALUE_OPTIONAL, 'The memory limit in megabytes', 128),
+
+			array('timeout', null, InputOption::VALUE_OPTIONAL, 'Seconds a job may run before timing out', 60),
+
+			array('sleep', null, InputOption::VALUE_OPTIONAL, 'Seconds to wait before checking queue for jobs', 3),
+
+			array('tries', null, InputOption::VALUE_OPTIONAL, 'Number of times to attempt a job before logging it failed', 0),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php
new file mode 100644
index 0000000..de02cd7
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php
@@ -0,0 +1,33 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Console\Command;
+
+class RestartCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:restart';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = "Restart queue worker daemons after their current job.";
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->laravel['cache']->forever('illuminate:queue:restart', time());
+
+		$this->info('Broadcasting queue restart signal.');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php
new file mode 100644
index 0000000..454b56d
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php
@@ -0,0 +1,74 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputArgument;
+
+class RetryCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:retry';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Retry a failed queue job';
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$failed = $this->laravel['queue.failer']->find($this->argument('id'));
+
+		if ( ! is_null($failed))
+		{
+			$failed->payload = $this->resetAttempts($failed->payload);
+
+			$this->laravel['queue']->connection($failed->connection)->pushRaw($failed->payload, $failed->queue);
+
+			$this->laravel['queue.failer']->forget($failed->id);
+
+			$this->info('The failed job has been pushed back onto the queue!');
+		}
+		else
+		{
+			$this->error('No failed job matches the given ID.');
+		}
+	}
+
+	/**
+	 * Reset the payload attempts.
+	 *
+	 * @param  string  $payload
+	 * @return string
+	 */
+	protected function resetAttempts($payload)
+	{
+		$payload = json_decode($payload, true);
+
+		if (isset($payload['attempts'])) $payload['attempts'] = 0;
+
+		return json_encode($payload);
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('id', InputArgument::REQUIRED, 'The ID of the failed job'),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/SubscribeCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/SubscribeCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/SubscribeCommand.php
new file mode 100755
index 0000000..89c4209
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/SubscribeCommand.php
@@ -0,0 +1,153 @@
+<?php namespace Illuminate\Queue\Console;
+
+use RuntimeException;
+use Illuminate\Queue\IronQueue;
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class SubscribeCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:subscribe';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Subscribe a URL to an Iron.io push queue';
+
+	/**
+	 * The queue meta information from Iron.io.
+	 *
+	 * @var object
+	 */
+	protected $meta;
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 *
+	 * @throws \RuntimeException
+	 */
+	public function fire()
+	{
+		$iron = $this->laravel['queue']->connection();
+
+		if ( ! $iron instanceof IronQueue)
+		{
+			throw new RuntimeException("Iron.io based queue must be default.");
+		}
+
+		$iron->getIron()->updateQueue($this->argument('queue'), $this->getQueueOptions());
+
+		$this->line('<info>Queue subscriber added:</info> <comment>'.$this->argument('url').'</comment>');
+	}
+
+	/**
+	 * Get the queue options.
+	 *
+	 * @return array
+	 */
+	protected function getQueueOptions()
+	{
+		return array(
+			'push_type' => $this->getPushType(), 'subscribers' => $this->getSubscriberList()
+		);
+	}
+
+	/**
+	 * Get the push type for the queue.
+	 *
+	 * @return string
+	 */
+	protected function getPushType()
+	{
+		if ($this->option('type')) return $this->option('type');
+
+		try
+		{
+			return $this->getQueue()->push_type;
+		}
+		catch (\Exception $e)
+		{
+			return 'multicast';
+		}
+	}
+
+	/**
+	 * Get the current subscribers for the queue.
+	 *
+	 * @return array
+	 */
+	protected function getSubscriberList()
+	{
+		$subscribers = $this->getCurrentSubscribers();
+
+		$subscribers[] = array('url' => $this->argument('url'));
+
+		return $subscribers;
+	}
+
+	/**
+	 * Get the current subscriber list.
+	 *
+	 * @return array
+	 */
+	protected function getCurrentSubscribers()
+	{
+		try
+		{
+			return $this->getQueue()->subscribers;
+		}
+		catch (\Exception $e)
+		{
+			return array();
+		}
+	}
+
+	/**
+	 * Get the queue information from Iron.io.
+	 *
+	 * @return object
+	 */
+	protected function getQueue()
+	{
+		if (isset($this->meta)) return $this->meta;
+
+		return $this->meta = $this->laravel['queue']->getIron()->getQueue($this->argument('queue'));
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('queue', InputArgument::REQUIRED, 'The name of Iron.io queue.'),
+
+			array('url', InputArgument::REQUIRED, 'The URL to be subscribed.'),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('type', null, InputOption::VALUE_OPTIONAL, 'The push type for the queue.'),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php b/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php
new file mode 100755
index 0000000..859cc63
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php
@@ -0,0 +1,175 @@
+<?php namespace Illuminate\Queue\Console;
+
+use Illuminate\Queue\Worker;
+use Illuminate\Queue\Jobs\Job;
+use Illuminate\Console\Command;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class WorkCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'queue:work';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Process the next job on a queue';
+
+	/**
+	 * The queue worker instance.
+	 *
+	 * @var \Illuminate\Queue\Worker
+	 */
+	protected $worker;
+
+	/**
+	 * Create a new queue listen command.
+	 *
+	 * @param  \Illuminate\Queue\Worker  $worker
+	 * @return void
+	 */
+	public function __construct(Worker $worker)
+	{
+		parent::__construct();
+
+		$this->worker = $worker;
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		if ($this->downForMaintenance() && ! $this->option('daemon')) return;
+
+		$queue = $this->option('queue');
+
+		$delay = $this->option('delay');
+
+		// The memory limit is the amount of memory we will allow the script to occupy
+		// before killing it and letting a process manager restart it for us, which
+		// is to protect us against any memory leaks that will be in the scripts.
+		$memory = $this->option('memory');
+
+		$connection = $this->argument('connection');
+
+		$response = $this->runWorker(
+			$connection, $queue, $delay, $memory, $this->option('daemon')
+		);
+
+		// If a job was fired by the worker, we'll write the output out to the console
+		// so that the developer can watch live while the queue runs in the console
+		// window, which will also of get logged if stdout is logged out to disk.
+		if ( ! is_null($response['job']))
+		{
+			$this->writeOutput($response['job'], $response['failed']);
+		}
+	}
+
+	/**
+	 * Run the worker instance.
+	 *
+	 * @param  string  $connection
+	 * @param  string  $queue
+	 * @param  int  $delay
+	 * @param  int  $memory
+	 * @param  bool  $daemon
+	 * @return array
+	 */
+	protected function runWorker($connection, $queue, $delay, $memory, $daemon = false)
+	{
+		if ($daemon)
+		{
+			$this->worker->setCache($this->laravel['cache']->driver());
+
+			$this->worker->setDaemonExceptionHandler($this->laravel['exception']);
+
+			return $this->worker->daemon(
+				$connection, $queue, $delay, $memory,
+				$this->option('sleep'), $this->option('tries')
+			);
+		}
+
+		return $this->worker->pop(
+			$connection, $queue, $delay,
+			$this->option('sleep'), $this->option('tries')
+		);
+	}
+
+	/**
+	 * Write the status output for the queue worker.
+	 *
+	 * @param  \Illuminate\Queue\Jobs\Job  $job
+	 * @param  bool  $failed
+	 * @return void
+	 */
+	protected function writeOutput(Job $job, $failed)
+	{
+		if ($failed)
+		{
+			$this->output->writeln('<error>Failed:</error> '.$job->getName());
+		}
+		else
+		{
+			$this->output->writeln('<info>Processed:</info> '.$job->getName());
+		}
+	}
+
+	/**
+	 * Determine if the worker should run in maintenance mode.
+	 *
+	 * @return bool
+	 */
+	protected function downForMaintenance()
+	{
+		if ($this->option('force')) return false;
+
+		return $this->laravel->isDownForMaintenance();
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('connection', InputArgument::OPTIONAL, 'The name of connection', null),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('queue', null, InputOption::VALUE_OPTIONAL, 'The queue to listen on'),
+
+			array('daemon', null, InputOption::VALUE_NONE, 'Run the worker in daemon mode'),
+
+			array('delay', null, InputOption::VALUE_OPTIONAL, 'Amount of time to delay failed jobs', 0),
+
+			array('force', null, InputOption::VALUE_NONE, 'Force the worker to run even in maintenance mode'),
+
+			array('memory', null, InputOption::VALUE_OPTIONAL, 'The memory limit in megabytes', 128),
+
+			array('sleep', null, InputOption::VALUE_OPTIONAL, 'Number of seconds to sleep when no job is available', 3),
+
+			array('tries', null, InputOption::VALUE_OPTIONAL, 'Number of times to attempt a job before logging it failed', 0),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub b/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub
new file mode 100644
index 0000000..61efc17
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub
@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateFailedJobsTable extends Migration {
+
+	/**
+	 * Run the migrations.
+	 *
+	 * @return void
+	 */
+	public function up()
+	{
+		Schema::create('failed_jobs', function(Blueprint $table)
+		{
+			$table->increments('id');
+			$table->text('connection');
+			$table->text('queue');
+			$table->text('payload');
+			$table->timestamp('failed_at');
+		});
+	}
+
+	/**
+	 * Reverse the migrations.
+	 *
+	 * @return void
+	 */
+	public function down()
+	{
+		Schema::drop('failed_jobs');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/FailConsoleServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/FailConsoleServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Queue/FailConsoleServiceProvider.php
new file mode 100644
index 0000000..6551877
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/FailConsoleServiceProvider.php
@@ -0,0 +1,69 @@
+<?php namespace Illuminate\Queue;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Queue\Console\RetryCommand;
+use Illuminate\Queue\Console\ListFailedCommand;
+use Illuminate\Queue\Console\FlushFailedCommand;
+use Illuminate\Queue\Console\FailedTableCommand;
+use Illuminate\Queue\Console\ForgetFailedCommand;
+
+class FailConsoleServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('command.queue.failed', function()
+		{
+			return new ListFailedCommand;
+		});
+
+		$this->app->bindShared('command.queue.retry', function()
+		{
+			return new RetryCommand;
+		});
+
+		$this->app->bindShared('command.queue.forget', function()
+		{
+			return new ForgetFailedCommand;
+		});
+
+		$this->app->bindShared('command.queue.flush', function()
+		{
+			return new FlushFailedCommand;
+		});
+
+		$this->app->bindShared('command.queue.failed-table', function($app)
+		{
+			return new FailedTableCommand($app['files']);
+		});
+
+		$this->commands(
+			'command.queue.failed', 'command.queue.retry', 'command.queue.forget',
+			'command.queue.flush', 'command.queue.failed-table'
+		);
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array(
+			'command.queue.failed', 'command.queue.retry', 'command.queue.forget', 'command.queue.flush', 'command.queue.failed-table',
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php b/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php
new file mode 100644
index 0000000..1fbf6f1
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php
@@ -0,0 +1,111 @@
+<?php namespace Illuminate\Queue\Failed;
+
+use Carbon\Carbon;
+use Illuminate\Database\ConnectionResolverInterface;
+
+class DatabaseFailedJobProvider implements FailedJobProviderInterface {
+
+	/**
+	 * The connection resolver implementation.
+	 *
+	 * @var \Illuminate\Database\ConnectionResolverInterface
+	 */
+	protected $resolver;
+
+	/**
+	 * The database connection name.
+	 *
+	 * @var string
+	 */
+	protected $database;
+
+	/**
+	 * The database table.
+	 *
+	 * @var string
+	 */
+	protected $table;
+
+	/**
+	 * Create a new database failed job provider.
+	 *
+	 * @param  \Illuminate\Database\ConnectionResolverInterface  $resolver
+	 * @param  string  $database
+	 * @param  string  $table
+	 * @return void
+	 */
+	public function __construct(ConnectionResolverInterface $resolver, $database, $table)
+	{
+		$this->table = $table;
+		$this->resolver = $resolver;
+		$this->database = $database;
+	}
+
+	/**
+	 * Log a failed job into storage.
+	 *
+	 * @param  string  $connection
+	 * @param  string  $queue
+	 * @param  string  $payload
+	 * @return void
+	 */
+	public function log($connection, $queue, $payload)
+	{
+		$failed_at = Carbon::now();
+
+		$this->getTable()->insert(compact('connection', 'queue', 'payload', 'failed_at'));
+	}
+
+	/**
+	 * Get a list of all of the failed jobs.
+	 *
+	 * @return array
+	 */
+	public function all()
+	{
+		return $this->getTable()->orderBy('id', 'desc')->get();
+	}
+
+	/**
+	 * Get a single failed job.
+	 *
+	 * @param  mixed  $id
+	 * @return array
+	 */
+	public function find($id)
+	{
+		return $this->getTable()->find($id);
+	}
+
+	/**
+	 * Delete a single failed job from storage.
+	 *
+	 * @param  mixed  $id
+	 * @return bool
+	 */
+	public function forget($id)
+	{
+		return $this->getTable()->where('id', $id)->delete() > 0;
+	}
+
+	/**
+	 * Flush all of the failed jobs from storage.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		$this->getTable()->delete();
+	}
+
+	/**
+	 * Get a new query builder instance for the table.
+	 *
+	 * @return \Illuminate\Database\Query\Builder
+	 */
+	protected function getTable()
+	{
+		return $this->resolver->connection($this->database)->table($this->table);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php b/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php
new file mode 100644
index 0000000..7db652e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php
@@ -0,0 +1,45 @@
+<?php namespace Illuminate\Queue\Failed;
+
+interface FailedJobProviderInterface {
+
+	/**
+	 * Log a failed job into storage.
+	 *
+	 * @param  string  $connection
+	 * @param  string  $queue
+	 * @param  string  $payload
+	 * @return void
+	 */
+	public function log($connection, $queue, $payload);
+
+	/**
+	 * Get a list of all of the failed jobs.
+	 *
+	 * @return array
+	 */
+	public function all();
+
+	/**
+	 * Get a single failed job.
+	 *
+	 * @param  mixed  $id
+	 * @return array
+	 */
+	public function find($id);
+
+	/**
+	 * Delete a single failed job from storage.
+	 *
+	 * @param  mixed  $id
+	 * @return bool
+	 */
+	public function forget($id);
+
+	/**
+	 * Flush all of the failed jobs from storage.
+	 *
+	 * @return void
+	 */
+	public function flush();
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/IlluminateQueueClosure.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/IlluminateQueueClosure.php b/vendor/laravel/framework/src/Illuminate/Queue/IlluminateQueueClosure.php
new file mode 100755
index 0000000..21056c6
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/IlluminateQueueClosure.php
@@ -0,0 +1,39 @@
+<?php
+
+use Illuminate\Encryption\Encrypter;
+
+class IlluminateQueueClosure {
+
+	/**
+	 * The encrypter instance.
+	 *
+	 * @var \Illuminate\Encryption\Encrypter  $crypt
+	 */
+	protected $crypt;
+
+	/**
+	 * Create a new queued Closure job.
+	 *
+	 * @param  \Illuminate\Encryption\Encrypter  $crypt
+	 * @return void
+	 */
+	public function __construct(Encrypter $crypt)
+	{
+		$this->crypt = $crypt;
+	}
+
+	/**
+	 * Fire the Closure based queue job.
+	 *
+	 * @param  \Illuminate\Queue\Jobs\Job  $job
+	 * @param  array  $data
+	 * @return void
+	 */
+	public function fire($job, $data)
+	{
+		$closure = unserialize($this->crypt->decrypt($data['closure']));
+
+		$closure($job);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/IronQueue.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/IronQueue.php b/vendor/laravel/framework/src/Illuminate/Queue/IronQueue.php
new file mode 100755
index 0000000..1c05b3a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/IronQueue.php
@@ -0,0 +1,258 @@
+<?php namespace Illuminate\Queue;
+
+use IronMQ;
+use Illuminate\Http\Request;
+use Illuminate\Http\Response;
+use Illuminate\Queue\Jobs\IronJob;
+
+class IronQueue extends Queue implements QueueInterface {
+
+	/**
+	 * The IronMQ instance.
+	 *
+	 * @var IronMQ
+	 */
+	protected $iron;
+
+	/**
+	 * The current request instance.
+	 *
+	 * @var \Illuminate\Http\Request
+	 */
+	protected $request;
+
+	/**
+	 * The name of the default tube.
+	 *
+	 * @var string
+	 */
+	protected $default;
+
+	/**
+	 * Indicates if the messages should be encrypted.
+	 *
+	 * @var bool
+	 */
+	protected $shouldEncrypt;
+
+	/**
+	 * Create a new IronMQ queue instance.
+	 *
+	 * @param  \IronMQ  $iron
+	 * @param  \Illuminate\Http\Request  $request
+	 * @param  string  $default
+	 * @param  bool  $shouldEncrypt
+	 * @return void
+	 */
+	public function __construct(IronMQ $iron, Request $request, $default, $shouldEncrypt = false)
+	{
+		$this->iron = $iron;
+		$this->request = $request;
+		$this->default = $default;
+		$this->shouldEncrypt = $shouldEncrypt;
+	}
+
+	/**
+	 * Push a new job onto the queue.
+	 *
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function push($job, $data = '', $queue = null)
+	{
+		return $this->pushRaw($this->createPayload($job, $data, $queue), $queue);
+	}
+
+	/**
+	 * Push a raw payload onto the queue.
+	 *
+	 * @param  string  $payload
+	 * @param  string  $queue
+	 * @param  array   $options
+	 * @return mixed
+	 */
+	public function pushRaw($payload, $queue = null, array $options = array())
+	{
+		if ($this->shouldEncrypt) $payload = $this->crypt->encrypt($payload);
+
+		return $this->iron->postMessage($this->getQueue($queue), $payload, $options)->id;
+	}
+
+	/**
+	 * Push a raw payload onto the queue after encrypting the payload.
+	 *
+	 * @param  string  $payload
+	 * @param  string  $queue
+	 * @param  int     $delay
+	 * @return mixed
+	 */
+	public function recreate($payload, $queue = null, $delay)
+	{
+		$options = array('delay' => $this->getSeconds($delay));
+
+		return $this->pushRaw($payload, $queue, $options);
+	}
+
+	/**
+	 * Push a new job onto the queue after a delay.
+	 *
+	 * @param  \DateTime|int  $delay
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function later($delay, $job, $data = '', $queue = null)
+	{
+		$delay = $this->getSeconds($delay);
+
+		$payload = $this->createPayload($job, $data, $queue);
+
+		return $this->pushRaw($payload, $queue, compact('delay'));
+	}
+
+	/**
+	 * Pop the next job off of the queue.
+	 *
+	 * @param  string  $queue
+	 * @return \Illuminate\Queue\Jobs\Job|null
+	 */
+	public function pop($queue = null)
+	{
+		$queue = $this->getQueue($queue);
+
+		$job = $this->iron->getMessage($queue);
+
+		// If we were able to pop a message off of the queue, we will need to decrypt
+		// the message body, as all Iron.io messages are encrypted, since the push
+		// queues will be a security hazard to unsuspecting developers using it.
+		if ( ! is_null($job))
+		{
+			$job->body = $this->parseJobBody($job->body);
+
+			return new IronJob($this->container, $this, $job);
+		}
+	}
+
+	/**
+	 * Delete a message from the Iron queue.
+	 *
+	 * @param  string  $queue
+	 * @param  string  $id
+	 * @return void
+	 */
+	public function deleteMessage($queue, $id)
+	{
+		$this->iron->deleteMessage($queue, $id);
+	}
+
+	/**
+	 * Marshal a push queue request and fire the job.
+	 *
+	 * @return \Illuminate\Http\Response
+	 */
+	public function marshal()
+	{
+		$this->createPushedIronJob($this->marshalPushedJob())->fire();
+
+		return new Response('OK');
+	}
+
+	/**
+	 * Marshal out the pushed job and payload.
+	 *
+	 * @return object
+	 */
+	protected function marshalPushedJob()
+	{
+		$r = $this->request;
+
+		$body = $this->parseJobBody($r->getContent());
+
+		return (object) array(
+			'id' => $r->header('iron-message-id'), 'body' => $body, 'pushed' => true,
+		);
+	}
+
+	/**
+	 * Create a new IronJob for a pushed job.
+	 *
+	 * @param  object  $job
+	 * @return \Illuminate\Queue\Jobs\IronJob
+	 */
+	protected function createPushedIronJob($job)
+	{
+		return new IronJob($this->container, $this, $job, true);
+	}
+
+	/**
+	 * Create a payload string from the given job and data.
+	 *
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return string
+	 */
+	protected function createPayload($job, $data = '', $queue = null)
+	{
+		$payload = $this->setMeta(parent::createPayload($job, $data), 'attempts', 1);
+
+		return $this->setMeta($payload, 'queue', $this->getQueue($queue));
+	}
+
+	/**
+	 * Parse the job body for firing.
+	 *
+	 * @param  string  $body
+	 * @return string
+	 */
+	protected function parseJobBody($body)
+	{
+		return $this->shouldEncrypt ? $this->crypt->decrypt($body) : $body;
+	}
+
+	/**
+	 * Get the queue or return the default.
+	 *
+	 * @param  string|null  $queue
+	 * @return string
+	 */
+	public function getQueue($queue)
+	{
+		return $queue ?: $this->default;
+	}
+
+	/**
+	 * Get the underlying IronMQ instance.
+	 *
+	 * @return \IronMQ
+	 */
+	public function getIron()
+	{
+		return $this->iron;
+	}
+
+	/**
+	 * Get the request instance.
+	 *
+	 * @return \Symfony\Component\HttpFoundation\Request
+	 */
+	public function getRequest()
+	{
+		return $this->request;
+	}
+
+	/**
+	 * Set the request instance.
+	 *
+	 * @param  \Symfony\Component\HttpFoundation\Request  $request
+	 * @return void
+	 */
+	public function setRequest(Request $request)
+	{
+		$this->request = $request;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php
new file mode 100755
index 0000000..2ae99dc
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php
@@ -0,0 +1,150 @@
+<?php namespace Illuminate\Queue\Jobs;
+
+use Pheanstalk_Job;
+use Illuminate\Container\Container;
+use Pheanstalk_Pheanstalk as Pheanstalk;
+
+class BeanstalkdJob extends Job {
+
+	/**
+	 * The Pheanstalk instance.
+	 *
+	 * @var \Pheanstalk_Pheanstalk
+	 */
+	protected $pheanstalk;
+
+	/**
+	 * The Pheanstalk job instance.
+	 *
+	 * @var \Pheanstalk_Job
+	 */
+	protected $job;
+
+	/**
+	 * Create a new job instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @param  \Pheanstalk_Pheanstalk  $pheanstalk
+	 * @param  \Pheanstalk_Job  $job
+	 * @param  string  $queue
+	 * @return void
+	 */
+	public function __construct(Container $container,
+                                Pheanstalk $pheanstalk,
+                                Pheanstalk_Job $job,
+                                $queue)
+	{
+		$this->job = $job;
+		$this->queue = $queue;
+		$this->container = $container;
+		$this->pheanstalk = $pheanstalk;
+	}
+
+	/**
+	 * Fire the job.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->resolveAndFire(json_decode($this->getRawBody(), true));
+	}
+
+	/**
+	 * Get the raw body string for the job.
+	 *
+	 * @return string
+	 */
+	public function getRawBody()
+	{
+		return $this->job->getData();
+	}
+
+	/**
+	 * Delete the job from the queue.
+	 *
+	 * @return void
+	 */
+	public function delete()
+	{
+		parent::delete();
+
+		$this->pheanstalk->delete($this->job);
+	}
+
+	/**
+	 * Release the job back into the queue.
+	 *
+	 * @param  int   $delay
+	 * @return void
+	 */
+	public function release($delay = 0)
+	{
+		$priority = Pheanstalk::DEFAULT_PRIORITY;
+
+		$this->pheanstalk->release($this->job, $priority, $delay);
+	}
+
+	/**
+	 * Bury the job in the queue.
+	 *
+	 * @return void
+	 */
+	public function bury()
+	{
+		$this->pheanstalk->bury($this->job);
+	}
+
+	/**
+	 * Get the number of times the job has been attempted.
+	 *
+	 * @return int
+	 */
+	public function attempts()
+	{
+		$stats = $this->pheanstalk->statsJob($this->job);
+
+		return (int) $stats->reserves;
+	}
+
+	/**
+	 * Get the job identifier.
+	 *
+	 * @return string
+	 */
+	public function getJobId()
+	{
+		return $this->job->getId();
+	}
+
+	/**
+	 * Get the IoC container instance.
+	 *
+	 * @return \Illuminate\Container\Container
+	 */
+	public function getContainer()
+	{
+		return $this->container;
+	}
+
+	/**
+	 * Get the underlying Pheanstalk instance.
+	 *
+	 * @return \Pheanstalk_Pheanstalk
+	 */
+	public function getPheanstalk()
+	{
+		return $this->pheanstalk;
+	}
+
+	/**
+	 * Get the underlying Pheanstalk job.
+	 *
+	 * @return \Pheanstalk_Job
+	 */
+	public function getPheanstalkJob()
+	{
+		return $this->job;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Jobs/IronJob.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Jobs/IronJob.php b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/IronJob.php
new file mode 100755
index 0000000..2265768
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/IronJob.php
@@ -0,0 +1,171 @@
+<?php namespace Illuminate\Queue\Jobs;
+
+use Illuminate\Queue\IronQueue;
+use Illuminate\Container\Container;
+
+class IronJob extends Job {
+
+	/**
+	 * The Iron queue instance.
+	 *
+	 * @var \Illuminate\Queue\IronQueue
+	 */
+	protected $iron;
+
+	/**
+	 * The IronMQ message instance.
+	 *
+	 * @var object
+	 */
+	protected $job;
+
+	/**
+	 * Indicates if the message was a push message.
+	 *
+	 * @var bool
+	 */
+	protected $pushed = false;
+
+	/**
+	 * Create a new job instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @param  \Illuminate\Queue\IronQueue  $iron
+	 * @param  object  $job
+	 * @param  bool    $pushed
+	 * @return void
+	 */
+	public function __construct(Container $container,
+                                IronQueue $iron,
+                                $job,
+                                $pushed = false)
+	{
+		$this->job = $job;
+		$this->iron = $iron;
+		$this->pushed = $pushed;
+		$this->container = $container;
+	}
+
+	/**
+	 * Fire the job.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->resolveAndFire(json_decode($this->getRawBody(), true));
+	}
+
+	/**
+	 * Get the raw body string for the job.
+	 *
+	 * @return string
+	 */
+	public function getRawBody()
+	{
+		return $this->job->body;
+	}
+
+	/**
+	 * Delete the job from the queue.
+	 *
+	 * @return void
+	 */
+	public function delete()
+	{
+		parent::delete();
+
+		if (isset($this->job->pushed)) return;
+
+		$this->iron->deleteMessage($this->getQueue(), $this->job->id);
+	}
+
+	/**
+	 * Release the job back into the queue.
+	 *
+	 * @param  int   $delay
+	 * @return void
+	 */
+	public function release($delay = 0)
+	{
+		if ( ! $this->pushed) $this->delete();
+
+		$this->recreateJob($delay);
+	}
+
+	/**
+	 * Release a pushed job back onto the queue.
+	 *
+	 * @param  int  $delay
+	 * @return void
+	 */
+	protected function recreateJob($delay)
+	{
+		$payload = json_decode($this->job->body, true);
+
+		array_set($payload, 'attempts', array_get($payload, 'attempts', 1) + 1);
+
+		$this->iron->recreate(json_encode($payload), $this->getQueue(), $delay);
+	}
+
+	/**
+	 * Get the number of times the job has been attempted.
+	 *
+	 * @return int
+	 */
+	public function attempts()
+	{
+		return array_get(json_decode($this->job->body, true), 'attempts', 1);
+	}
+
+	/**
+	 * Get the job identifier.
+	 *
+	 * @return string
+	 */
+	public function getJobId()
+	{
+		return $this->job->id;
+	}
+
+	/**
+	 * Get the IoC container instance.
+	 *
+	 * @return \Illuminate\Container\Container
+	 */
+	public function getContainer()
+	{
+		return $this->container;
+	}
+
+	/**
+	 * Get the underlying Iron queue instance.
+	 *
+	 * @return \Illuminate\Queue\IronQueue
+	 */
+	public function getIron()
+	{
+		return $this->iron;
+	}
+
+	/**
+	 * Get the underlying IronMQ job.
+	 *
+	 * @return array
+	 */
+	public function getIronJob()
+	{
+		return $this->job;
+	}
+
+	/**
+	 * Get the name of the queue the job belongs to.
+	 *
+	 * @return string
+	 */
+	public function getQueue()
+	{
+		return array_get(json_decode($this->job->body, true), 'queue');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php
new file mode 100755
index 0000000..89bde25
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php
@@ -0,0 +1,179 @@
+<?php namespace Illuminate\Queue\Jobs;
+
+use DateTime;
+
+abstract class Job {
+
+	/**
+	 * The job handler instance.
+	 *
+	 * @var mixed
+	 */
+	protected $instance;
+
+	/**
+	 * The IoC container instance.
+	 *
+	 * @var \Illuminate\Container\Container
+	 */
+	protected $container;
+
+	/**
+	 * The name of the queue the job belongs to.
+	 *
+	 * @var string
+	 */
+	protected $queue;
+
+	/**
+	 * Indicates if the job has been deleted.
+	 *
+	 * @var bool
+	 */
+	protected $deleted = false;
+
+	/**
+	 * Fire the job.
+	 *
+	 * @return void
+	 */
+	abstract public function fire();
+
+	/**
+	 * Delete the job from the queue.
+	 *
+	 * @return void
+	 */
+	public function delete()
+	{
+		$this->deleted = true;
+	}
+
+	/**
+	 * Determine if the job has been deleted.
+	 *
+	 * @return bool
+	 */
+	public function isDeleted()
+	{
+		return $this->deleted;
+	}
+
+	/**
+	 * Release the job back into the queue.
+	 *
+	 * @param  int   $delay
+	 * @return void
+	 */
+	abstract public function release($delay = 0);
+
+	/**
+	 * Get the number of times the job has been attempted.
+	 *
+	 * @return int
+	 */
+	abstract public function attempts();
+
+	/**
+	 * Get the raw body string for the job.
+	 *
+	 * @return string
+	 */
+	abstract public function getRawBody();
+
+	/**
+	 * Resolve and fire the job handler method.
+	 *
+	 * @param  array  $payload
+	 * @return void
+	 */
+	protected function resolveAndFire(array $payload)
+	{
+		list($class, $method) = $this->parseJob($payload['job']);
+
+		$this->instance = $this->resolve($class);
+
+		$this->instance->{$method}($this, $payload['data']);
+	}
+
+	/**
+	 * Resolve the given job handler.
+	 *
+	 * @param  string  $class
+	 * @return mixed
+	 */
+	protected function resolve($class)
+	{
+		return $this->container->make($class);
+	}
+
+	/**
+	 * Parse the job declaration into class and method.
+	 *
+	 * @param  string  $job
+	 * @return array
+	 */
+	protected function parseJob($job)
+	{
+		$segments = explode('@', $job);
+
+		return count($segments) > 1 ? $segments : array($segments[0], 'fire');
+	}
+
+	/**
+	 * Determine if job should be auto-deleted.
+	 *
+	 * @return bool
+	 */
+	public function autoDelete()
+	{
+		return isset($this->instance->delete);
+	}
+
+	/**
+	 * Calculate the number of seconds with the given delay.
+	 *
+	 * @param  \DateTime|int  $delay
+	 * @return int
+	 */
+	protected function getSeconds($delay)
+	{
+		if ($delay instanceof DateTime)
+		{
+			return max(0, $delay->getTimestamp() - $this->getTime());
+		}
+
+		return (int) $delay;
+	}
+
+	/**
+	 * Get the current system time.
+	 *
+	 * @return int
+	 */
+	protected function getTime()
+	{
+		return time();
+	}
+
+	/**
+	 * Get the name of the queued job class.
+	 *
+	 * @return string
+	 */
+	public function getName()
+	{
+		return json_decode($this->getRawBody(), true)['job'];
+	}
+
+	/**
+	 * Get the name of the queue the job belongs to.
+	 *
+	 * @return string
+	 */
+	public function getQueue()
+	{
+		return $this->queue;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php
new file mode 100644
index 0000000..93fba74
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php
@@ -0,0 +1,134 @@
+<?php namespace Illuminate\Queue\Jobs;
+
+use Illuminate\Queue\RedisQueue;
+use Illuminate\Container\Container;
+
+class RedisJob extends Job {
+
+	/**
+	 * The Redis queue instance.
+	 *
+	 * @var \Illuminate\Queue\RedisQueue
+	 */
+	protected $redis;
+
+	/**
+	 * The Redis job payload.
+	 *
+	 * @var string
+	 */
+	protected $job;
+
+	/**
+	 * Create a new job instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @param  \Illuminate\Queue\RedisQueue  $redis
+	 * @param  string  $job
+	 * @param  string  $queue
+	 * @return void
+	 */
+	public function __construct(Container $container, RedisQueue $redis, $job, $queue)
+	{
+		$this->job = $job;
+		$this->redis = $redis;
+		$this->queue = $queue;
+		$this->container = $container;
+	}
+
+	/**
+	 * Fire the job.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->resolveAndFire(json_decode($this->getRawBody(), true));
+	}
+
+	/**
+	 * Get the raw body string for the job.
+	 *
+	 * @return string
+	 */
+	public function getRawBody()
+	{
+		return $this->job;
+	}
+
+	/**
+	 * Delete the job from the queue.
+	 *
+	 * @return void
+	 */
+	public function delete()
+	{
+		parent::delete();
+
+		$this->redis->deleteReserved($this->queue, $this->job);
+	}
+
+	/**
+	 * Release the job back into the queue.
+	 *
+	 * @param  int   $delay
+	 * @return void
+	 */
+	public function release($delay = 0)
+	{
+		$this->delete();
+
+		$this->redis->release($this->queue, $this->job, $delay, $this->attempts() + 1);
+	}
+
+	/**
+	 * Get the number of times the job has been attempted.
+	 *
+	 * @return int
+	 */
+	public function attempts()
+	{
+		return array_get(json_decode($this->job, true), 'attempts');
+	}
+
+	/**
+	 * Get the job identifier.
+	 *
+	 * @return string
+	 */
+	public function getJobId()
+	{
+		return array_get(json_decode($this->job, true), 'id');
+	}
+
+	/**
+	 * Get the IoC container instance.
+	 *
+	 * @return \Illuminate\Container\Container
+	 */
+	public function getContainer()
+	{
+		return $this->container;
+	}
+
+	/**
+	 * Get the underlying queue driver instance.
+	 *
+	 * @return \Illuminate\Redis\Database
+	 */
+	public function getRedisQueue()
+	{
+		return $this->redis;
+	}
+
+	/**
+	 * Get the underlying Redis job.
+	 *
+	 * @return string
+	 */
+	public function getRedisJob()
+	{
+		return $this->job;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php
new file mode 100755
index 0000000..0e666bd
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php
@@ -0,0 +1,139 @@
+<?php namespace Illuminate\Queue\Jobs;
+
+use Aws\Sqs\SqsClient;
+use Illuminate\Container\Container;
+
+class SqsJob extends Job {
+
+	/**
+	 * The Amazon SQS client instance.
+	 *
+	 * @var \Aws\Sqs\SqsClient
+	 */
+	protected $sqs;
+
+	/**
+	 * The Amazon SQS job instance.
+	 *
+	 * @var array
+	 */
+	protected $job;
+
+	/**
+	 * Create a new job instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @param  \Aws\Sqs\SqsClient  $sqs
+	 * @param  string  $queue
+	 * @param  array   $job
+	 * @return void
+	 */
+	public function __construct(Container $container,
+                                SqsClient $sqs,
+                                $queue,
+                                array $job)
+	{
+		$this->sqs = $sqs;
+		$this->job = $job;
+		$this->queue = $queue;
+		$this->container = $container;
+	}
+
+	/**
+	 * Fire the job.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$this->resolveAndFire(json_decode($this->getRawBody(), true));
+	}
+
+	/**
+	 * Get the raw body string for the job.
+	 *
+	 * @return string
+	 */
+	public function getRawBody()
+	{
+		return $this->job['Body'];
+	}
+
+	/**
+	 * Delete the job from the queue.
+	 *
+	 * @return void
+	 */
+	public function delete()
+	{
+		parent::delete();
+
+		$this->sqs->deleteMessage(array(
+
+			'QueueUrl' => $this->queue, 'ReceiptHandle' => $this->job['ReceiptHandle'],
+
+		));
+	}
+
+	/**
+	 * Release the job back into the queue.
+	 *
+	 * @param  int   $delay
+	 * @return void
+	 */
+	public function release($delay = 0)
+	{
+		// SQS job releases are handled by the server configuration...
+	}
+
+	/**
+	 * Get the number of times the job has been attempted.
+	 *
+	 * @return int
+	 */
+	public function attempts()
+	{
+		return (int) $this->job['Attributes']['ApproximateReceiveCount'];
+	}
+
+	/**
+	 * Get the job identifier.
+	 *
+	 * @return string
+	 */
+	public function getJobId()
+	{
+		return $this->job['MessageId'];
+	}
+
+	/**
+	 * Get the IoC container instance.
+	 *
+	 * @return \Illuminate\Container\Container
+	 */
+	public function getContainer()
+	{
+		return $this->container;
+	}
+
+	/**
+	 * Get the underlying SQS client instance.
+	 *
+	 * @return \Aws\Sqs\SqsClient
+	 */
+	public function getSqs()
+	{
+		return $this->sqs;
+	}
+
+	/**
+	 * Get the underlying raw SQS job.
+	 *
+	 * @return array
+	 */
+	public function getSqsJob()
+	{
+		return $this->job;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php
new file mode 100755
index 0000000..fe02312
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php
@@ -0,0 +1,97 @@
+<?php namespace Illuminate\Queue\Jobs;
+
+use Closure;
+use Illuminate\Container\Container;
+
+class SyncJob extends Job {
+
+	/**
+	 * The class name of the job.
+	 *
+	 * @var string
+	 */
+	protected $job;
+
+	/**
+	 * The queue message data.
+	 *
+	 * @var string
+	 */
+	protected $data;
+
+	/**
+	 * Create a new job instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @param  string  $job
+	 * @param  string  $data
+	 * @return void
+	 */
+	public function __construct(Container $container, $job, $data = '')
+	{
+		$this->job = $job;
+		$this->data = $data;
+		$this->container = $container;
+	}
+
+	/**
+	 * Fire the job.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$data = json_decode($this->data, true);
+
+		if ($this->job instanceof Closure)
+		{
+			call_user_func($this->job, $this, $data);
+		}
+		else
+		{
+			$this->resolveAndFire(array('job' => $this->job, 'data' => $data));
+		}
+	}
+
+	/**
+	 * Get the raw body string for the job.
+	 *
+	 * @return string
+	 */
+	public function getRawBody()
+	{
+		//
+	}
+
+	/**
+	 * Release the job back into the queue.
+	 *
+	 * @param  int   $delay
+	 * @return void
+	 */
+	public function release($delay = 0)
+	{
+		//
+	}
+
+	/**
+	 * Get the number of times the job has been attempted.
+	 *
+	 * @return int
+	 */
+	public function attempts()
+	{
+		return 1;
+	}
+
+	/**
+	 * Get the job identifier.
+	 *
+	 * @return string
+	 */
+	public function getJobId()
+	{
+		return '';
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Listener.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Listener.php b/vendor/laravel/framework/src/Illuminate/Queue/Listener.php
new file mode 100755
index 0000000..edf3cda
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Listener.php
@@ -0,0 +1,238 @@
+<?php namespace Illuminate\Queue;
+
+use Closure;
+use Symfony\Component\Process\Process;
+
+class Listener {
+
+	/**
+	 * The command working path.
+	 *
+	 * @var string
+	 */
+	protected $commandPath;
+
+	/**
+	 * The environment the workers should run under.
+	 *
+	 * @var string
+	 */
+	protected $environment;
+
+	/**
+	 * The amount of seconds to wait before polling the queue.
+	 *
+	 * @var int
+	 */
+	protected $sleep = 3;
+
+	/**
+	 * The amount of times to try a job before logging it failed.
+	 *
+	 * @var int
+	 */
+	protected $maxTries = 0;
+
+	/**
+	 * The queue worker command line.
+	 *
+	 * @var string
+	 */
+	protected $workerCommand;
+
+	/**
+	 * The output handler callback.
+	 *
+	 * @var \Closure|null
+	 */
+	protected $outputHandler;
+
+	/**
+	 * Create a new queue listener.
+	 *
+	 * @param  string  $commandPath
+	 * @return void
+	 */
+	public function __construct($commandPath)
+	{
+		$this->commandPath = $commandPath;
+		$this->workerCommand =  '"'.PHP_BINARY.'" artisan queue:work %s --queue="%s" --delay=%s --memory=%s --sleep=%s --tries=%s';
+	}
+
+	/**
+	 * Listen to the given queue connection.
+	 *
+	 * @param  string  $connection
+	 * @param  string  $queue
+	 * @param  string  $delay
+	 * @param  string  $memory
+	 * @param  int     $timeout
+	 * @return void
+	 */
+	public function listen($connection, $queue, $delay, $memory, $timeout = 60)
+	{
+		$process = $this->makeProcess($connection, $queue, $delay, $memory, $timeout);
+
+		while(true)
+		{
+			$this->runProcess($process, $memory);
+		}
+	}
+
+	/**
+	 * Run the given process.
+	 *
+	 * @param  \Symfony\Component\Process\Process  $process
+	 * @param  int  $memory
+	 * @return void
+	 */
+	public function runProcess(Process $process, $memory)
+	{
+		$process->run(function($type, $line)
+		{
+			$this->handleWorkerOutput($type, $line);
+		});
+
+		// Once we have run the job we'll go check if the memory limit has been
+		// exceeded for the script. If it has, we will kill this script so a
+		// process managers will restart this with a clean slate of memory.
+		if ($this->memoryExceeded($memory))
+		{
+			$this->stop(); return;
+		}
+	}
+
+	/**
+	 * Create a new Symfony process for the worker.
+	 *
+	 * @param  string  $connection
+	 * @param  string  $queue
+	 * @param  int     $delay
+	 * @param  int     $memory
+	 * @param  int     $timeout
+	 * @return \Symfony\Component\Process\Process
+	 */
+	public function makeProcess($connection, $queue, $delay, $memory, $timeout)
+	{
+		$string = $this->workerCommand;
+
+		// If the environment is set, we will append it to the command string so the
+		// workers will run under the specified environment. Otherwise, they will
+		// just run under the production environment which is not always right.
+		if (isset($this->environment))
+		{
+			$string .= ' --env='.$this->environment;
+		}
+
+		// Next, we will just format out the worker commands with all of the various
+		// options available for the command. This will produce the final command
+		// line that we will pass into a Symfony process object for processing.
+		$command = sprintf(
+			$string, $connection, $queue, $delay,
+			$memory, $this->sleep, $this->maxTries
+		);
+
+		return new Process($command, $this->commandPath, null, null, $timeout);
+	}
+
+	/**
+	 * Handle output from the worker process.
+	 *
+	 * @param  int  $type
+	 * @param  string  $line
+	 * @return void
+	 */
+	protected function handleWorkerOutput($type, $line)
+	{
+		if (isset($this->outputHandler))
+		{
+			call_user_func($this->outputHandler, $type, $line);
+		}
+	}
+
+	/**
+	 * Determine if the memory limit has been exceeded.
+	 *
+	 * @param  int   $memoryLimit
+	 * @return bool
+	 */
+	public function memoryExceeded($memoryLimit)
+	{
+		return (memory_get_usage() / 1024 / 1024) >= $memoryLimit;
+	}
+
+	/**
+	 * Stop listening and bail out of the script.
+	 *
+	 * @return void
+	 */
+	public function stop()
+	{
+		die;
+	}
+
+	/**
+	 * Set the output handler callback.
+	 *
+	 * @param  \Closure  $outputHandler
+	 * @return void
+	 */
+	public function setOutputHandler(Closure $outputHandler)
+	{
+		$this->outputHandler = $outputHandler;
+	}
+
+	/**
+	 * Get the current listener environment.
+	 *
+	 * @return string
+	 */
+	public function getEnvironment()
+	{
+		return $this->environment;
+	}
+
+	/**
+	 * Set the current environment.
+	 *
+	 * @param  string  $environment
+	 * @return void
+	 */
+	public function setEnvironment($environment)
+	{
+		$this->environment = $environment;
+	}
+
+	/**
+	 * Get the amount of seconds to wait before polling the queue.
+	 *
+	 * @return int
+	 */
+	public function getSleep()
+	{
+		return $this->sleep;
+	}
+
+	/**
+	 * Set the amount of seconds to wait before polling the queue.
+	 *
+	 * @param  int  $sleep
+	 * @return void
+	 */
+	public function setSleep($sleep)
+	{
+		$this->sleep = $sleep;
+	}
+
+	/**
+	 * Set the amount of times to try a job before logging it failed.
+	 *
+	 * @param  int  $tries
+	 * @return void
+	 */
+	public function setMaxTries($tries)
+	{
+		$this->maxTries = $tries;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/Queue.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/Queue.php b/vendor/laravel/framework/src/Illuminate/Queue/Queue.php
new file mode 100755
index 0000000..e6cd428
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/Queue.php
@@ -0,0 +1,139 @@
+<?php namespace Illuminate\Queue;
+
+use Closure;
+use DateTime;
+use Illuminate\Container\Container;
+use Illuminate\Encryption\Encrypter;
+use Illuminate\Support\SerializableClosure;
+
+abstract class Queue {
+
+	/**
+	 * The IoC container instance.
+	 *
+	 * @var \Illuminate\Container\Container
+	 */
+	protected $container;
+
+	/**
+	 * Marshal a push queue request and fire the job.
+	 *
+	 * @throws \RuntimeException
+	 */
+	public function marshal()
+	{
+		throw new \RuntimeException("Push queues only supported by Iron.");
+	}
+
+	/**
+	 * Push an array of jobs onto the queue.
+	 *
+	 * @param  array   $jobs
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function bulk($jobs, $data = '', $queue = null)
+	{
+		foreach ((array) $jobs as $job)
+		{
+			$this->push($job, $data, $queue);
+		}
+	}
+
+	/**
+	 * Create a payload string from the given job and data.
+	 *
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return string
+	 */
+	protected function createPayload($job, $data = '', $queue = null)
+	{
+		if ($job instanceof Closure)
+		{
+			return json_encode($this->createClosurePayload($job, $data));
+		}
+
+		return json_encode(array('job' => $job, 'data' => $data));
+	}
+
+	/**
+	 * Create a payload string for the given Closure job.
+	 *
+	 * @param  \Closure  $job
+	 * @param  mixed     $data
+	 * @return string
+	 */
+	protected function createClosurePayload($job, $data)
+	{
+		$closure = $this->crypt->encrypt(serialize(new SerializableClosure($job)));
+
+		return array('job' => 'IlluminateQueueClosure', 'data' => compact('closure'));
+	}
+
+	/**
+	 * Set additional meta on a payload string.
+	 *
+	 * @param  string  $payload
+	 * @param  string  $key
+	 * @param  string  $value
+	 * @return string
+	 */
+	protected function setMeta($payload, $key, $value)
+	{
+		$payload = json_decode($payload, true);
+
+		return json_encode(array_set($payload, $key, $value));
+	}
+
+	/**
+	 * Calculate the number of seconds with the given delay.
+	 *
+	 * @param  \DateTime|int  $delay
+	 * @return int
+	 */
+	protected function getSeconds($delay)
+	{
+		if ($delay instanceof DateTime)
+		{
+			return max(0, $delay->getTimestamp() - $this->getTime());
+		}
+
+		return (int) $delay;
+	}
+
+	/**
+	 * Get the current UNIX timestamp.
+	 *
+	 * @return int
+	 */
+	public function getTime()
+	{
+		return time();
+	}
+
+	/**
+	 * Set the IoC container instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @return void
+	 */
+	public function setContainer(Container $container)
+	{
+		$this->container = $container;
+	}
+
+	/**
+	 * Set the encrypter instance.
+	 *
+	 * @param  \Illuminate\Encryption\Encrypter  $crypt
+	 * @return void
+	 */
+	public function setEncrypter(Encrypter $crypt)
+	{
+		$this->crypt = $crypt;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Queue/QueueInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Queue/QueueInterface.php b/vendor/laravel/framework/src/Illuminate/Queue/QueueInterface.php
new file mode 100755
index 0000000..69f9241
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Queue/QueueInterface.php
@@ -0,0 +1,44 @@
+<?php namespace Illuminate\Queue;
+
+interface QueueInterface {
+
+	/**
+	 * Push a new job onto the queue.
+	 *
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function push($job, $data = '', $queue = null);
+
+	/**
+	 * Push a raw payload onto the queue.
+	 *
+	 * @param  string  $payload
+	 * @param  string  $queue
+	 * @param  array   $options
+	 * @return mixed
+	 */
+	public function pushRaw($payload, $queue = null, array $options = array());
+
+	/**
+	 * Push a new job onto the queue after a delay.
+	 *
+	 * @param  \DateTime|int  $delay
+	 * @param  string  $job
+	 * @param  mixed   $data
+	 * @param  string  $queue
+	 * @return mixed
+	 */
+	public function later($delay, $job, $data = '', $queue = null);
+
+	/**
+	 * Pop the next job off of the queue.
+	 *
+	 * @param  string  $queue
+	 * @return \Illuminate\Queue\Jobs\Job|null
+	 */
+	public function pop($queue = null);
+
+}


Mime
View raw message