Мы используем PHP-реализацию Stream в серверной части нашего проекта, чтобы пакетно добавить действие ко многим фидам одновременно, используя $batcher->addToMany()
,
Проблема, с которой мы столкнулись, заключается в том, что эти действия не запускают обновление в реальном времени на канале faye, даже если они отображаются в ленте уведомлений пользователя.
Добавление активности в фид с помощью $feed->addActivity()
вызывает слушателя, как ожидалось.
Это ошибка в Stream или функция, которая недоступна?
Запуск 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
добавляет одно и то же действие, но к нескольким каналам (подтверждается в представлении проводника потоков), но не вызывает прослушиватель обновлений в реальном времени.
пакет не запускает в реальном времени. Мы не можем включить его по всем направлениям прямо сейчас, или это может вызвать неожиданное поведение для клиентов, использующих его в настоящее время, которые не ожидают его срабатывания. Мы включили это для вашей организации. Спасибо!
Других решений пока нет …