smuuf / celery-for-php
A modern Celery client for modern PHP.
dev-master
2023-09-16 20:40 UTC
Requires
- php: >=8.1
- ramsey/uuid: >=4
- symfony/polyfill-php81: ^1.26
Requires (Dev)
- nette/tester: ^2.4
- phpstan/phpstan: ^1.8
- predis/predis: ^2
Suggests
- predis/predis: Adds support for Predis - a PHP library providing a Redis result backend
This package is auto-updated.
Last update: 2023-09-16 20:41:01 UTC
README
A modern PHP client library for Celery - Distributed Task Queue.
Requirements
- PHP 8.1+
Example
<?php use Smuuf\CeleryForPhp\Celery; use Smuuf\CeleryForPhp\TaskSignature; use Smuuf\CeleryForPhp\Brokers\RedisBroker; use Smuuf\CeleryForPhp\Drivers\PredisDriver; use Smuuf\CeleryForPhp\Backends\RedisBackend; $predis = new PredisClient(['host' => '127.0.0.1']); $redisDriver = new PredisDriver($predis); $celery = new Celery( new RedisBroker($redisDriver), new RedisBackend($redisDriver), ); $task = new TaskSignature( taskName: 'my_celery_app.add_numbers', queue: 'my_queue', // Optional, 'celery' by default. args: [1, 3, 5], // ... more optional arguments. ); // Send the task into Celery. $asyncResult = $celery->sendTask($task); // Wait for the result (up to 10 seconds by default) and return it. // Alternatively a \Smuuf\CeleryForPhp\Exc\CeleryTimeoutException exception will // be thrown if the task won't finish in time. $result = $asyncResult->get(); // $result === 9