yii2-queue icon indicating copy to clipboard operation
yii2-queue copied to clipboard

AMQP keepalive support

Open vyachin opened this issue 4 years ago • 8 comments

Q A
Is bugfix? no
New feature? yes
Breaks BC? no
Tests pass? yes
Fixed issues

Если перед кластером rabbitmq стоит балансер (у нас это yandex cloud load balancer) то периодически consumers завершались с ошибкой "Connection timed out". Активация heartbeat режима, без переписывания обработчиков не поможет https://github.com/php-amqplib/RabbitMqBundle/issues/301

Нам помогло включение режима keepalive на стороне consumers.

Для возможности включения режима keepalive через конфиг и был создан данный PR

vyachin avatar Mar 20 '20 10:03 vyachin

https://travis-ci.com/github/yiisoft/yii2-queue/jobs/300286412 that's interesting... likely not related to pull request but can't merge without this error fixed :(

samdark avatar Mar 20 '20 11:03 samdark

Any idea about these random failures?

samdark avatar Mar 23 '20 23:03 samdark

Works? Ready for review?

samdark avatar Apr 29 '20 11:04 samdark

Тесты рандомно падают на проверке работы приоритетов для драйвера rabbitmq, если rabbitmq запущен через докер.

Если запустить rabbitmq через раздел services, возникает другая проблема - rabbitmq не установлен в образе ubuntu xenial и поддержка travis говорит, что его нужно устанавливать вручную в этом образе.

php 5.5 нет в образе ubuntu xenial, придется использовать для тестирования образ trusty.

Раздел before_install для xenial и trusty получается разный. Путем проб и ошибок самый простой вариант - это использовать для всех тестов дистрибутив trusty

плюсы:

  • единый раздел before_install
  • поддержка php 5.5, 5.6, 7.0, 7.1, 7.2, 7.3
  • rabbitmq подключается через раздел services
  • все тесты работают (или не работают) стабильно

минусы:

  • старый дистрибутив, возможны проблемы с поддержкой
  • непонятно как он себя поведет с php 7.4

vyachin avatar Apr 29 '20 12:04 vyachin

готово

vyachin avatar Apr 29 '20 12:04 vyachin

Overall everything's well done 👍 Let's fix minor phpdoc issues and version constraint. Then I'll merge it.

samdark avatar May 01 '20 10:05 samdark

How about merge it? =)

iglooom avatar Sep 16 '22 07:09 iglooom

Need to resolve conflicts first. Travis was replaced by Github Actions so adaptation for these changes is required.

arogachev avatar Sep 21 '22 06:09 arogachev

Came across the same problem. Can this PR be updated?

s1lver avatar Jan 11 '23 11:01 s1lver