Ищете элегантный способ генерации реактора горячего потока - PullRequest
0 голосов
/ 01 октября 2019

У меня есть Reactor горячий поток, который опрашивает Redis, используя реактив Lettuce API:

Flux
                    .generate(sink -> sink.next(0))
                    .flatMap(
                            r -> pollingConnection
                                    .reactive()
                                    .brpop(pollingTimeout, queue)
                    ...
                    .subscribe(subscription);

Есть ли способ сделать это без flatMap? Какие-нибудь асинхронные раковины?

1 Ответ

1 голос
/ 03 октября 2019

для регулярного неблокирующего опроса, я думаю, вам лучше использовать Flux.interval, а не Flux.generate (который, в сочетании с flatMap, сгенерирует 256 непосредственных запросов между прочим)

, так как APIПохоже, что он основан на brpop Publisher, у вас нет особого выбора, но вы можете использовать flatMap, если хотите запустить несколько всплывающих окон.

...