У меня короткий проект, в котором я отправляю несколько сообщений (~ 1000), а затем пытаюсь обработать их в одном потоке, но все равно получаю дубликаты.
Это желаемое поведение PubSub?
это код для создания подписчика
ExecutorProvider executorProvider =
InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(1).build();
// create subscriber
subscriber = Subscriber.newBuilder(subscriptionName, messageReceiver).setExecutorProvider(executorProvider).build();
subscriber.startAsync();
Вот демоверсия: https://github.com/andonescu/play-pubsub
Я отправил 1000 сообщений, каждый процесс занимал 300 миллисекунд (задержка была добавлена намеренно), затем был вызван ack ().Время подтверждения при подписке - 10. Исходя из всего этого, я не должен получать дубликаты сообщений, но я получил более 10% от отправленных.
вот журнал: https://github.com/andonescu/play-pubsub/blob/master/reports/1000-messages-reader-status
Я добавил тот же вопрос на https://github.com/GoogleCloudPlatform/pubsub/issues/182