PHPackages                             massivescale/celery-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. massivescale/celery-php

AbandonedArchivedLibrary[Caching](/categories/caching)

massivescale/celery-php
=======================

PHP client for Celery task queue

2.1.2(9y ago)421388.1k↓36.8%118[9 issues](https://github.com/gjedeer/celery-php/issues)[5 PRs](https://github.com/gjedeer/celery-php/pulls)BSD-2-ClausePHP

Since Jul 21Pushed 4y ago3 watchersCompare

[ Source](https://github.com/gjedeer/celery-php)[ Packagist](https://packagist.org/packages/massivescale/celery-php)[ Docs](https://github.com/gjedeer/celery-php/)[ RSS](/packages/massivescale-celery-php/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (1)DependenciesVersions (7)Used By (0)

Archived
--------

[](#archived)

I have no more commercial or personal use for this project. It doesn't seem to be used by any Free Software projects and I'm definitely not spending my spare time on something used internally by some random companies I never met. Check out the [forks](https://github.com/gjedeer/celery-php/network), maybe you'll find something that works for you there.

Thanks to all the contributors!

PHP client capable of executing [Celery](http://celeryproject.org/) tasks and reading asynchronous results.

Uses [AMQP extension from PECL](http://www.php.net/manual/en/amqp.setup.php), the [PHP AMQP implementation](https://github.com/php-amqplib/php-amqplib) or Redis and the following settings in Celery:

```
result_serializer = 'json'
result_expires = None
task_track_started = False

```

The required PECL-AMQP version is at least 1.0. Last version tested is 1.4.

Last PHP-amqplib version tested is 2.5.1.

Last predis version tested is 1.0.1.

Requires Celery 4.0+.

[API documentation](https://massivescale.net/celery-php/li_celery-php.html) is dead, [help wanted](https://github.com/gjedeer/celery-php/issues/82)

POSTING TASKS
-------------

[](#posting-tasks)

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

// The results are serializable so you can do the following:
$_SESSION['celery_result'] = $result;
// and use this variable in an AJAX call or whatever

```

*tip: if using RabbitMQ guest user, set "/" vhost*

READING ASYNC RESULTS
---------------------

[](#reading-async-results)

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

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

```

GET ASYNC RESULT MESSAGE
------------------------

[](#get-async-result-message)

```
$c = new \Celery\Celery('localhost', 'myuser', 'mypass', 'myvhost');
$message = $c->getAsyncResultMessage('tasks.add', 'taskId');

```

PYTHON-LIKE API
---------------

[](#python-like-api)

An API compatible to AsyncResult in Python is available too.

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

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

```

ABOUT
-----

[](#about)

Based on [this blog post](http://www.toforge.com/2011/01/run-celery-tasks-from-php/)and reading Celery sources. Thanks to Skrat, author of [Celerb](https://github.com/skrat/celerb) for a tip about response encoding. Created for the needs of my consulting work at [Massive Scale](http://massivescale.net/).

License is 2-clause BSD.

DEVELOPMENT
-----------

[](#development)

[Development process and goals.](DEVELOPMENT.md)

CONNECTING VIA SSL
------------------

[](#connecting-via-ssl)

Connecting to a RabbitMQ server that requires SSL is currently only possible via PHP-amqplib to do so you'll need to create a celery object with ssl options:

```
$ssl_options = [
    'cafile' => 'PATH_TO_CA_CERT_FILE',
    'verify_peer' => true,
    'passphrase' => 'LOCAL_CERT_PASSPHRASE',
    'local_cert' => 'PATH_TO_COMBINED_CLIENT_CERT_KEY',
    'CN_match' => 'CERT_COMMON_NAME'
];

$c = new \Celery\Celery($host, $user, $password, $vhost, 'celery', 'celery', 5671, false, 0, $ssl_options);

```

CONNECTING TO REDIS
-------------------

[](#connecting-to-redis)

Refer to files in `testscenario/` for examples of celeryconfig.py.

```
$c = new \Celery\Celery(
    'localhost', /* Server */
    '', /* Login */
    'test', /* Password */
    'wutka', /* vhost */
    'celery', /* exchange */
    'celery', /* binding */
    6379, /* port */
    'redis' /* connector */
);

```

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity57

Moderate usage in the ecosystem

Community28

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 72.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~452 days

Total

2

Last Release

3547d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/eda3c8b3933ef6c7130a4aea294372b7293a690b00ca265cdf96513b4db78837?d=identicon)[massivescale](/maintainers/massivescale)

![](https://www.gravatar.com/avatar/5ceefd7be98826925899a69e8c963a7d6ff98b2a6df65552a9d9d328a329609a?d=identicon)[jdufresne](/maintainers/jdufresne)

---

Top Contributors

[![gjedeer](https://avatars.githubusercontent.com/u/315648?v=4)](https://github.com/gjedeer "gjedeer (145 commits)")[![jdufresne](https://avatars.githubusercontent.com/u/347634?v=4)](https://github.com/jdufresne "jdufresne (29 commits)")[![m0nk](https://avatars.githubusercontent.com/u/44160?v=4)](https://github.com/m0nk "m0nk (8 commits)")[![jjbubudi](https://avatars.githubusercontent.com/u/788781?v=4)](https://github.com/jjbubudi "jjbubudi (2 commits)")[![jaesivsm](https://avatars.githubusercontent.com/u/1969240?v=4)](https://github.com/jaesivsm "jaesivsm (2 commits)")[![lankesh](https://avatars.githubusercontent.com/u/4975645?v=4)](https://github.com/lankesh "lankesh (2 commits)")[![ergonlogic](https://avatars.githubusercontent.com/u/380362?v=4)](https://github.com/ergonlogic "ergonlogic (2 commits)")[![lirenzhu](https://avatars.githubusercontent.com/u/768643?v=4)](https://github.com/lirenzhu "lirenzhu (1 commits)")[![SandyTruth](https://avatars.githubusercontent.com/u/22897317?v=4)](https://github.com/SandyTruth "SandyTruth (1 commits)")[![0x0ece](https://avatars.githubusercontent.com/u/1491992?v=4)](https://github.com/0x0ece "0x0ece (1 commits)")[![smuuf](https://avatars.githubusercontent.com/u/6860713?v=4)](https://github.com/smuuf "smuuf (1 commits)")[![codingthoughts](https://avatars.githubusercontent.com/u/2997904?v=4)](https://github.com/codingthoughts "codingthoughts (1 commits)")[![eagafonov](https://avatars.githubusercontent.com/u/111455?v=4)](https://github.com/eagafonov "eagafonov (1 commits)")[![gena01](https://avatars.githubusercontent.com/u/312125?v=4)](https://github.com/gena01 "gena01 (1 commits)")[![gplaza](https://avatars.githubusercontent.com/u/1881764?v=4)](https://github.com/gplaza "gplaza (1 commits)")[![jdeniau](https://avatars.githubusercontent.com/u/1398469?v=4)](https://github.com/jdeniau "jdeniau (1 commits)")[![lexabug](https://avatars.githubusercontent.com/u/1069062?v=4)](https://github.com/lexabug "lexabug (1 commits)")

---

Tags

redisqueuecronAMQPtaskcelerypython

### Embed Badge

![Health badge](/badges/massivescale-celery-php/health.svg)

```
[![Health](https://phpackages.com/badges/massivescale-celery-php/health.svg)](https://phpackages.com/packages/massivescale-celery-php)
```

###  Alternatives

[javibravo/simpleue

Php package to manage queue tasks in a simple way

131348.6k1](/packages/javibravo-simpleue)[enqueue/redis

Message Queue Redis Transport

445.7M31](/packages/enqueue-redis)[enqueue/magento2-enqueue

Message Queue solutions for Magento2. Supports RabbitMQ, AMQP, STOMP, Amazon SQS, Kafka, Redis, Google PubSub, Gearman, Beanstalk, Google PubSub

4918.8k](/packages/enqueue-magento2-enqueue)[resquebundle/resque

A Symfony 4 bundle to manage Resque job queues

51139.2k1](/packages/resquebundle-resque)[spinx/sidekiq-job-php

Push and schedule jobs to Sidekiq from PHP

37236.2k](/packages/spinx-sidekiq-job-php)[yangusik/laravel-balanced-queue

Laravel queue management with load balancing between partitions (user groups)

8514.4k](/packages/yangusik-laravel-balanced-queue)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
