Процесс Хьюи застрял, но почему?
Я пытаюсь отладить, почему наша очередь huey кажется замерзшей. У нас есть очередь huey с 4 потоками, однако в течение нескольких дней она, кажется, зависает.
Моя гипотеза заключается в том, что есть метод/задача, которая продолжает выполняться и мешает другим задачам обрабатывать данные. Однако это довольно большой проект с большим количеством вещей, попадающих в очередь.
Почему я в это верю?
- загрузка процессора составляет 100% в одном из потоков .
- новых записей в журнале не появляется, только уведомления о пробуждении huey в логах.
- после перезапуска очереди снова появляются записи в логах различных задач.
Настройки Хьюи:
'huey_class': 'huey.PriorityRedisHuey',
'name': 'queue',
'result_store': True,
'events': True,
'store_none': False,
'always_eager': False,
'store_errors': True,
'blocking': False,
'connection': {
'host': 'localhost',
'port': 6379,
'db': 0,
'connection_pool': None,
'read_timeout': 1,
'url': None,
},
'consumer': {
'workers': 4,
'worker_type': 'thread',
'initial_delay': 0.1,
'backoff': 1.15,
'max_delay': 10.0,
'utc': True,
'scheduler_interval': 1,
'periodic': True,
'check_worker_health': True,
'health_check_interval': 1,
},
Как я могу отладить это? Возможно, есть настройка, которую я могу использовать, чтобы убить любую задачу после x-времени и записать это в журнал каким-то образом? Или, возможно, я что-то еще упускаю? Или, возможно, есть команда, чтобы увидеть, что в настоящее время обрабатывается?