1
0
Fork 0
mirror of synced 2024-06-02 10:54:44 +12:00

feat(realtime): channel for tests

This commit is contained in:
Torsten Dittmann 2021-08-17 13:18:32 +02:00
parent 8366b6fe03
commit cbc282a24c

View file

@ -83,10 +83,10 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats,
$start = time();
$redisPool = $register->get('redisPool');
/**
* Sending current connections to project channels on the console project every 5 seconds.
*/
Timer::tick(5000, function () use ($server, $stats, $realtime) {
/**
* Sending current connections to project channels on the console project every 5 seconds.
*/
if ($realtime->hasSubscriber('console', 'role:member', 'project')) {
$payload = [];
foreach ($stats as $projectId => $value) {
@ -94,14 +94,36 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats,
}
$event = [
'event' => 'stats.connections',
'channels' => ['project'],
'project' => 'console',
'roles' => ['role:member'],
'timestamp' => time(),
'payload' => $payload
'data' => [
'event' => 'stats.connections',
'channels' => ['project'],
'timestamp' => time(),
'payload' => $payload
]
];
$server->send($realtime->getSubscribers($event), json_encode($event));
$server->send($realtime->getSubscribers($event), json_encode($event['data']));
}
/**
* Sending test message for SDK E2E tests every 5 seconds.
*/
if ($realtime->hasSubscriber('console', 'role:guest', 'tests')) {
$payload = ['response' => 'WS:/v1/realtime:passed'];
$event = [
'project' => 'console',
'roles' => ['role:guest'],
'data' => [
'event' => 'test.event',
'channels' => ['tests'],
'timestamp' => time(),
'payload' => $payload
]
];
$server->send($realtime->getSubscribers($event), json_encode($event['data']));
}
});