11# Utopia Queue
22
3- [ ![ Build Status] ( https://travis-ci.com/utopia-php/system .svg?branch=main )] ( https://travis-ci.com/utopia-php/queue )
3+ [ ![ Build Status] ( https://travis-ci.com/utopia-php/queue .svg?branch=main )] ( https://travis-ci.com/utopia-php/queue )
44![ Total Downloads] ( https://img.shields.io/packagist/dt/utopia-php/queue.svg )
55[ ![ Discord] ( https://img.shields.io/discord/564160730845151244?label=discord )] ( https://appwrite.io/discord )
66
@@ -21,21 +21,53 @@ Init in your application:
2121
2222require_once __DIR__ . '/../../vendor/autoload.php';
2323
24+ // Create a worker using swoole adapter
2425use Utopia\Queue;
25-
26+ use Utopia\Queue\Message;
27+
28+ $connection = new Queue\Connection\RedisSwoole('redis');
29+ $adapter = new Queue\Adapter\Swoole($connection, 12, 'swoole');
30+ $server = new Queue\Server($adapter);
31+
32+ $server->job()
33+ ->inject('message')
34+ ->action(function (Message $message) {
35+ var_dump($message);
36+ });
37+
38+ $server
39+ ->error()
40+ ->inject('error')
41+ ->action(function ($error) {
42+ echo $error->getMessage() . PHP_EOL;
43+ });
44+
45+ $server
46+ ->workerStart(function () {
47+ echo "Worker Started" . PHP_EOL;
48+ })
49+ ->start();
50+
51+
52+ // Enqueue messages to the worker using swoole adapter
53+ $connection = new RedisSwoole('redis', 6379);
54+ run(function () use ($connection) {
55+ $client = new Client('swoole', $connection);
56+ go(function () use ($client) {
57+ $client->resetStats();
58+
59+ $client->enqueue([
60+ 'type' => 'test_number',
61+ 'value' => 123
62+ ]);
63+ });
64+ });
2665```
2766
2867## System Requirements
2968
3069Utopia Framework requires PHP 8.0 or later. We recommend using the latest PHP version whenever possible.
3170
32- ## Authors
33-
34- ** Torsten Dittmann**
35-
36- + [ https://twitter.com/dittmanntorsten ] ( https://twitter.com/dittmanntorsten )
37- + [ https://github.com/torstendittmann ] ( https://github.com/torstendittmann )
38-
3971## Copyright and license
4072
4173The MIT License (MIT) [ http://www.opensource.org/licenses/mit-license.php ] ( http://www.opensource.org/licenses/mit-license.php )
0 commit comments