косяк из-за того что мускул закрывает коннекшен пока консюмер ждёт (например у него лимит на 10 сообщений и потом он перезапускается). Но за wait_timeout может не быть ниодного сообщения и соответственно сл. сообщение вывалится с mysql has gone away.
подходы которые можно заюзать:
- закрывать конекшен после каждой обработки сообщений (такое себе удовольствие имхо. зачем тратиться на закрытие/открытие соединений)
- пинговать мускул перед обработкой сообщения и переоткрывать, если было закрыто
- ловить эксепшн и перепушивать сообщение повторно и соответсвенно когда конекшен был закрыт, переоткрывать его
что я упустил? мне больше импонирует второй
есть какие-нибудь еще подходы?
https://github.com/facile-it/doctrine-mysql-come-back такое есть
Обсуждают сегодня