Я определил задачу Django (она запускается с использованием ./manage.py task_name
). Эта задача считывает набор объектов из базы данных и выполняет операцию (обычно отправляя пинг) на каждом из них, записывая каждый отдельный результат обратно в базу данных.Лучший способ распараллеливания функций из задачи django
В настоящее время у меня есть простой цикл for
, но он явно слишком медленный, потому что он ждет завершения каждого пинга, чтобы начать со следующего. Итак, мой вопрос: какой лучший способ распараллеливать операции?
Насколько я понял, лучший способ, который я нашел, - использовать Pool
с модуля multiprocessing
, что-то вроде the code in this answer.