Мы используем PHP-реализацию Stream на серверной части нашего проекта, чтобы пакетно добавить действие ко многим фидам одновременно, используя $batcher->addToMany()
.
Проблема, с которой мы столкнулись, заключается в том, что эти действия не запускаютсяобновление в реальном времени на канале faye, даже если они отображаются в фиде уведомлений пользователя.
Добавление действия в фид с помощью $feed->addActivity()
запускает прослушиватель, как и ожидалось.
Является ли этоошибка в потоке или функция, которая недоступна?
Запуск PHP-реализации Stream для добавления действий в фиды пользовательских уведомлений.Прослушивание одинаковых каналов с JS на передней панели.Я попытался добавить точно такой же элемент активности в один канал, используя addActivity()
, и функция обновлений в реальном времени работает, как и ожидалось.
private function add_notification_activity( $feed_user_id, $data ) {
try {
$notification = $this->client->feed( 'notifications', $feed_user_id );
$notification->addActivity( $data );
} catch ( StreamFeedException $e ) {
$this->catch_stream_exception( $e );
}
}
private function batch_add_activity( $activity, $feeds ) {
try {
$batcher = $this->client->batcher();
$batcher->addToMany( $activity, $feeds );
} catch ( StreamFeedException $e ) {
$this->catch_stream_exception( $e );
}
}
add_notification_activity
запускает прослушиватель обновлений в реальном времени, как и ожидалось.
batch_add_activity
добавляет одно и то же действие, но к нескольким каналам (подтверждено в представлении проводника потоковых данных), но не вызывает прослушиватель обновления в реальном времени.