A library for queuing and executing php5 tasks
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
classes/Sera
tests
.gitignore
.travis.yml
LICENCE
README.md
composer.json
phpunit.xml.dist

README.md

Sera - A queueing library

Allows for long-running or asynchronous tasks to be written as Tasks and queued on a variety on queuing mechanism.

Currently supports Beanstalk and Amazon SQS.

Build Status

Installation

To add sera to a project, the easiest way is via composer:

{
    "require": {
        "99designs/sera": ">=1.0.0"
    }
}

Usage

<?php

// a simple task
class MyTask extends Sera_Task_Abstract
{
	public static function create($params)
	{
		return new self($params);
	}

	public function execute()
	{
    my_long_running_function($this->_data);
	}
}

// a queue that connects to beanstalkd
$queue = new Sera_Queue_BeanstalkQueue("127.0.0.1");
$queue->select('llama_tasks');

// enqueue the task
$queue->enqueue(MyTask::create('some data'));

// normally this would be in a seperate process
$worker = new Sera_Queue_QueueWorker($queue);
$worker->execute();

Copyright

Copyright (c) 2012 99designs See LICENSE for details.