あなたにも役立つかもしれない回避策を見つけました。
私のセットアップでは、トピックに新しい情報をブロードキャストする必要がある定期的なサービスがあり、カスタム トピック ハンドラーがあります。
まず、定期サービスにカスタム トピック ハンドラーを挿入し、サブスクライブされたすべてのトピックをトピック ハンドラーに保存します。次のようになります。
public function onSubscribe(Conn $conn, $topic)
{
if (!array_key_exists($topic->getId(), self::$subscribedTopics)) {
self::$subscribedTopics[$topic->getId()] = $topic;
}
$topic->broadcast('connected');
}
public function getSubscribedTopics() {
return self::$subscribedTopics;
}
定期的にこれらのトピックを取得してブロードキャストします。
public function tick()
{
$subscribedTopics = $this->topic->getSubscribedTopics();
foreach($subscribedTopics as $subscribedTopic) {
$subscribedTopic->broadcast('yey');
}
}