Skip to content

feat: improved RabbitMQ driver#1129

Open
sav-da wants to merge 10 commits intouserver-framework:developfrom
sav-da:issue/134
Open

feat: improved RabbitMQ driver#1129
sav-da wants to merge 10 commits intouserver-framework:developfrom
sav-da:issue/134

Conversation

@sav-da
Copy link

@sav-da sav-da commented Feb 26, 2026

  • added headers to ConsumedMessage
  • added headers to Envelop
  • added heartbeat to queue

#137


Note: by creating a PR or an issue you automatically agree to the CLA. See CONTRIBUTING.md. Feel free to remove this note, the agreement holds.

- added headers to ConsumedMessage
- added headers to Envelop
- added heartbeat to queue
@sav-da sav-da requested a review from Malevrovich March 1, 2026 18:46
@sav-da sav-da requested a review from Malevrovich March 2, 2026 11:44
@sav-da sav-da requested a review from Malevrovich March 4, 2026 06:37
@sav-da
Copy link
Author

sav-da commented Mar 4, 2026

Обнаружил баг, занимаюсь доработками

@sav-da
Copy link
Author

sav-da commented Mar 4, 2026

изначальный метод конвертации работал некорректно для любых типов кроме строк
переделал реализацию, вынес в отдельный файл и отдельный тест

@sav-da sav-da requested a review from Malevrovich March 4, 2026 11:57
@sav-da
Copy link
Author

sav-da commented Mar 6, 2026

@Malevrovich я в течении следующей недели подготовлю полноценную реализацию
на текущий момент опирался в основном на то что нужно для нашего проекта, но это не совсем верно с точки зрения userver.

приведу к полноценной реализации.

P.S. приношу извенения за прошедшее потраченное время. впредь постараюсь делать более качественные изменения

@Malevrovich
Copy link

Malevrovich commented Mar 6, 2026

@Malevrovich я в течении следующей недели подготовлю полноценную реализацию на текущий момент опирался в основном на то что нужно для нашего проекта, но это не совсем верно с точки зрения userver.

приведу к полноценной реализации.

P.S. приношу извенения за прошедшее потраченное время. впредь постараюсь делать более качественные изменения

Всё нормально, главное, что результат вырисовывается. Будем рады принять доработки

@sav-da sav-da requested a review from Malevrovich March 19, 2026 14:17
Copy link

@Malevrovich Malevrovich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Еще давайте добавим в функциональные тесты
userver/rabbitmq/function_tests
Проверку работы хедеров и проверку работы хартбита

Copy link

@Malevrovich Malevrovich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Осталось немного мелочей. Включу прогон тестов, если падения будут относиться к изменениям, то их надо будет исправить

assert _strip_headers(response.json()) == MESSAGES


async def test_rabbitmq_heartbeat_reconnects(testpoint, service_client, gate):

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Если вдруг отключить/сломать хартбит, то почему тест должен начать проваливаться?

}

void AmqpConnectionHandler::OnConnectionCreated(AmqpConnection* connection, engine::Deadline deadline) {
connection_ = connection;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давайте на всякий случай поставим сюда

UINVARIANT(connection_ == nullptr)

Если вдруг где-то в недрах будет баг и OnConnectionCreated вызовется два раза, то будет очень тяжело обнаружить

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants