Broadcast both locally and across servers on dashboard logger.
This commit is contained in:
parent
7519da4a08
commit
546c4fd0ef
|
|
@ -136,6 +136,18 @@ class Channel
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcast a payload to the locally-subscribed connections.
|
||||
*
|
||||
* @param string|int $appId
|
||||
* @param \stdClass $payload
|
||||
* @return bool
|
||||
*/
|
||||
public function broadcastLocally($appId, stdClass $payload): bool
|
||||
{
|
||||
return $this->broadcast($appId, $payload, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcast the payload, but exclude a specific socket id.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -83,15 +83,13 @@ class DashboardLogger
|
|||
$channel = $channelManager->find($appId, $channelName);
|
||||
|
||||
if ($channel) {
|
||||
$channel->broadcastToEveryoneExcept(
|
||||
(object) $payload,
|
||||
null,
|
||||
$appId
|
||||
);
|
||||
} else {
|
||||
$channelManager->broadcastAcrossServers(
|
||||
$appId, null, $channelName, (object) $payload
|
||||
$channel->broadcastLocally(
|
||||
$appId, (object) $payload, true
|
||||
);
|
||||
}
|
||||
|
||||
$channelManager->broadcastAcrossServers(
|
||||
$appId, null, $channelName, (object) $payload
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue