1
0
Fork 0
mirror of synced 2024-06-26 18:20:43 +12:00

Merge branch 'feat-265-realtime' of https://github.com/appwrite/appwrite into feat-265-realtime-console

This commit is contained in:
Torsten Dittmann 2021-08-18 11:03:41 +02:00
commit 69b1dff1b2
2 changed files with 23 additions and 4 deletions

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) {
@ -104,6 +104,25 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats,
]
];
$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']));
}
});

View file

@ -45,7 +45,7 @@ use Appwrite\Utopia\Response\Model\Mock; // Keep last
use stdClass;
/**
* @method Response public function setStatusCode(int $code = 200)
* @method Response setStatusCode(int $code = 200)
*/
class Response extends SwooleResponse
{