Процесс Хьюи застрял, но почему?

Я пытаюсь отладить, почему наша очередь 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-времени и записать это в журнал каким-то образом? Или, возможно, я что-то еще упускаю? Или, возможно, есть команда, чтобы увидеть, что в настоящее время обрабатывается?

Вернуться на верх