SF5 Mercure Подписаться

В настоящее время я столкнулся с небольшой проблемой, так как я никогда не использовал Mercure, я следовал руководству по внедрению Mercure в моем приложении Symfony 5, которое использует Turbo.

Mercure работает очень хорошо, но проблема в том, что я хочу использовать Mercure для отображения данных, хранящихся в базе данных (MSSQL), через другое приложение. В целом в этой базе данных MSSQL у меня есть данные, которые представляют собой журналы ошибок из приложения Windows. Каждый раз, когда возникает ошибка, в базу данных записывается журнал.

Мое веб-приложение должно позволять визуализировать эти журналы. Но и в реальном времени мое приложение не создает данные, а только читает их. Итак, после некоторого исследования (Doc Symfony) я должен использовать это:

      class PublishController
{
    public function __invoke(HubInterface $hub): Response
    {
        $update = new Update(
            'http://example.com/books/1',
            json_encode(['status' => 'OutOfStock'])
         );

         $hub->publish($update);

         return new Response('published!');
    }
}

Затем «подписывает» URL -> 'http://example.com/books/1', как в примере.

Но я не записываю никаких данных, ну, пользователь только читает данные, отображаемые на его экране.

Так возможно ли работать с Mercure в реальном времени без использования Publisher?

Согласно моим исследованиям, я не думаю, что это возможно.

Но если у вас есть решения, меня интересует альтернатива.

Что касается AJAX, то в моем случае это не очень хорошее решение, потому что может быть много журналов, поступающих одновременно, поэтому с точки зрения производительности это не очень хорошо (запросы к серверу каждые 1 секунду).

0 ответов

Другие вопросы по тегам