Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

PHP client for Celery

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docgen
Octocat-spinner-32 testscenario
Octocat-spinner-32 README.md
Octocat-spinner-32 celery.php
Octocat-spinner-32 composer.json
Octocat-spinner-32 install_amqp.sh
Octocat-spinner-32 test.php
Octocat-spinner-32 unittest.php
README.md

PHP client capable of executing Celery tasks and reading asynchronous results.

Requires AMQP extension from PECL and the following settings in Celery:

CELERY_RESULT_SERIALIZER = "json"
CELERY_TASK_RESULT_EXPIRES = None

PHP-AMQP is supported in version 1.0.0 and higher because its API has been completely remade when it entered 1.0. There is a separate branch for 0.3.

POSTING TASKS

$c = new Celery('localhost', 'myuser', 'mypass', 'myvhost');
$result = $c->PostTask('tasks.add', array(2,2));

READING ASYNC RESULTS

while(!$result->isReady())
{
    sleep(1);
    echo '...';
}

if($result->isSuccess())
{
    echo $result->getResult();
}
else
{
    echo "ERROR";
    echo $result->getTraceback();
}

PYTHON-LIKE API

An API compatible to AsyncResult in Python is available too.

    $c = new Celery('localhost', 'myuser', 'mypass', 'myvhost');
    $result = $c->PostTask('tasks.add', array(2,2));

    $result->get();
    if($result->successful())
    {
            echo $result->result;
    }

ABOUT

Created in mere 2 days, so expect no wonders. Based on this blog post and reading Celery sources. Thanks to Skrat, author of Celerb for a tip about response encoding. Created for the needs of my consulting work at Massive Scale. License is changed from Beerware to 2-clause BSD.

SUPPORT

If you need help integrating Celery in your PHP app, you may be interested in hiring me as a consultant.

Something went wrong with that request. Please try again.