Например я subporcess дергаю скрипт где есть time.sleep(7).
Я выставил timeout=5 секунд и в исключении subprocess.TimeoutExpired возвращаю результат в rq job что время истекло.
В логах я вижу что ответ приходит через 5 секунд. Все ок.
Но при мониторинге задачи в цикле:
print(job.result)
он получает ответ сильно позже.
Если две вообще задачи запустить, он выдает результат будто рандомно, то через 15 секунд, то даже за 30 нет результата.
Почему так? Как это полечить?
Each worker will process a single job at a time. Within a worker, there is no concurrent processing going on. If you want to perform jobs concurrently, simply start more workers.
Обсуждают сегодня