From 42e47dc8b40b2040ea9b70c644799d7d7a097520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 16 Nov 2022 17:12:06 +0000 Subject: [PATCH 1/2] Implement ping method --- src/Queue/Connection.php | 1 + src/Queue/Connection/Redis.php | 11 +++++++++++ tests/Queue/e2e/AdapterTest.php | 3 +++ 3 files changed, 15 insertions(+) diff --git a/src/Queue/Connection.php b/src/Queue/Connection.php index 7049e24..6f37505 100644 --- a/src/Queue/Connection.php +++ b/src/Queue/Connection.php @@ -24,4 +24,5 @@ public function get(string $key): array|string|null; public function setArray(string $key, array $value): bool; public function increment(string $key): int; public function decrement(string $key): int; + public function ping(): bool; } diff --git a/src/Queue/Connection/Redis.php b/src/Queue/Connection/Redis.php index 93792b0..68bc0ae 100644 --- a/src/Queue/Connection/Redis.php +++ b/src/Queue/Connection/Redis.php @@ -159,6 +159,17 @@ public function listRange(string $key, int $total, int $offset): array return array_map(fn (array $job) => new Message($job), $results); } + public function ping(): bool + { + try { + $this->getRedis()->ping(); + + return true; + } catch (\Exception $e) { + return false; + } + } + protected function getRedis(): \Redis { if ($this->redis) { diff --git a/tests/Queue/e2e/AdapterTest.php b/tests/Queue/e2e/AdapterTest.php index 8251fc2..a88d38e 100644 --- a/tests/Queue/e2e/AdapterTest.php +++ b/tests/Queue/e2e/AdapterTest.php @@ -62,9 +62,12 @@ public function testEvents(): void { $connection = new Redis('redis', 6379); + $this->assertTrue($connection->ping()); + $client = new Client('workerman', $connection); $client->resetStats(); + foreach ($this->payloads as $payload) { $this->assertTrue($client->enqueue($payload)); } From 4d4ec91f22d012ceb6d5437c35fc8999c800a837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 16 Nov 2022 17:17:43 +0000 Subject: [PATCH 2/2] Linter fix, improve readme --- README.md | 7 +++++++ tests/Queue/e2e/AdapterTest.php | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4ab26cc..f87c4b8 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,13 @@ use Utopia\Queue; use Utopia\Queue\Message; $connection = new Queue\Connection\Redis('redis'); + +if ($connection->ping()) { + var_dump('Connection is ready.'); +} else { + var_dump('Connection is not ready.'); +} + $adapter = new Queue\Adapter\Swoole($connection, 12, 'my-queue'); $server = new Queue\Server($adapter); diff --git a/tests/Queue/e2e/AdapterTest.php b/tests/Queue/e2e/AdapterTest.php index a88d38e..ee09894 100644 --- a/tests/Queue/e2e/AdapterTest.php +++ b/tests/Queue/e2e/AdapterTest.php @@ -63,7 +63,7 @@ public function testEvents(): void $connection = new Redis('redis', 6379); $this->assertTrue($connection->ping()); - + $client = new Client('workerman', $connection); $client->resetStats();