Dík, snad to pomůže. Zkoušel jsem měnit i broker_heartbeat a broker_heartbeat_checkrate nahoru i dolů, ale pořád se to rozpadne.
Myslím, že ty bugy jsou tam dva: jednou request přijde workeru, ale nelze dostat odpověď zpět (zasekne se result.get()) a v druhém případě ani na worker nedorazí (task.delay() s zasekne a klient se snaží zuřivě připojit v cyklu donekonečna). Vypadá, že to nezávisí od nastavení heartbeatů.
tak to nevím.
ad heartbeaty: jak celery, tak rabbitmq mají vlastní mechanismy na heartbeaty. takže informace, že log ukazuje chybějící heartbeat moc nepomůže.
ad "zasekne se result.get()": celery komunikuje pomocí dvou mechanismů. jeden je message broker a druhý je result backend. výsledky se vrací skrz ten result backend. zkuste si nejdřív rozhodit práci s message brokerem, zkontrolovat, jestli se úlohy spouští a teprve potom řešit vracení výsledků.
a ještě mě napadlo: s celery se worker a klient, co se k workeru připojuje, spouští nezávisle. jdou nastavit různě.