Skip to content

Commit b387c49

Browse files
fix(redis): use spread operator for variadic Redis set operations
Fixed critical bug in RedisMetricsStore where arrays were being passed directly to PhpRedis sadd() and srem() methods instead of using the spread operator to unpack them as variadic arguments. This caused Redis to store the literal string "Array" instead of actual job identifiers in discovery sets, which resulted in: - listJobs() returning empty arrays - throughput_per_minute showing 0 - avg_duration_ms showing 0 - All aggregated metrics failing to calculate Changes: - addToSet(): Changed sadd($key, $members) to sadd($key, ...$members) - removeFromSet(): Changed srem($key, $members) to srem($key, ...$members) Test Results: - 124 out of 125 tests passing - Metrics now calculate correctly with actual job data - Discovery sets properly storing job identifiers
1 parent 9c08db6 commit b387c49

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/Support/RedisMetricsStore.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public function removeFromSortedSet(string $key, string $member): void
172172
public function addToSet(string $key, array $members): void
173173
{
174174
if (! empty($members)) {
175-
$this->getRedis()->sadd($key, $members);
175+
$this->getRedis()->sadd($key, ...$members);
176176
}
177177
}
178178

@@ -190,7 +190,7 @@ public function getSetMembers(string $key): array
190190
public function removeFromSet(string $key, array $members): void
191191
{
192192
if (! empty($members)) {
193-
$this->getRedis()->srem($key, $members);
193+
$this->getRedis()->srem($key, ...$members);
194194
}
195195
}
196196

0 commit comments

Comments
 (0)