#node.js #google-cloud-pubsub
# #node.js #google-облако-pubsub
Вопрос:
У меня проблема с Google PubSub Node.js замораживание слушателя с помощью pull.
Я использую следующий поток:
1. PubSub client is created,
2. Subscription is fetched from the specified topic
3. Listeners are attached to "message" and "error" events.
Сначала он извлекает около ~ 500 сообщений и подтверждает их, но после этого он просто зависает, имея в очереди> 1000 сообщений. Я пробовал периодически повторно запускать функцию listeners ( removeListener/on
), но она выдает только несколько сообщений. После перезапуска приложения оно вытягивает ~ 500, и происходит то же самое.
Ответ №1:
Попробуйте проверить настройки FlowControl, возможно, это ограничивает количество и скорость, с которой ваш подписчик получает сообщения. Кроме того, если вы не подтверждаете или не удаляете полученные сообщения, они будут учитываться в общем количестве ожидающих сообщений. После достижения предела maxMessages подписчик больше не будет получать сообщения до тех пор, пока не будут подтверждены или заблокированы оставшиеся сообщения (или истекли и в конечном итоге будут повторно отправлены после периода максимального расширения).
Для получения дополнительной информации: https://cloud.google.com/pubsub/docs/pull#subscriber-flow-control-nodejs