внутрь неё передаётся канал aio_pika, а также есть тяжёлая долгая обработка, которая зависает настолько, что пропадает heartbeat и коннект к rabbit'у рвётся. Не могу сообразить, как мне отжать тред лок, чтобы управление передалось в хартбит - судя по всему обернуть обработку в async-функцию и за'await'ить её недостаточно :) (я ожидал, что на await'е управление отдастся heartbeat треду).
Ребяты, я пошёл поразбирался побольше с тредами, и хочу уточнить, правильно ли я понял: CPU-intensive treads могут быть прерваны (поставлены на паузу) в середине обработки, чтобы дать CPU time другим тредам. Тогда вынести мою блокирующую обработку в тред имеет смысл, чтобы приложение не вставало колом и heartbeat не пропадал. Так?
Обсуждают сегодня