Django-parallelized_querysets є додаток Django для роботи з великими Django QuerySets, поширюючи їх виконанням на декількох ядрах і тримати використання пам'яті низько.
Установка
пункт встановити Django-parallelized_querysets
Використання
parallelized_queryset (QuerySet, процеси = None, функція = None)
Обробляти отриману QuerySet і повертає результат у вигляді списку.
Стан процесів
Число процесів для створення. За замовчуванням число повертаються multiprocessing.cpu_count ().
функція
Застосувати функцію до кожного результату. Не застосовувати будь-які функції за замовчуванням. Першим аргументом є процесом, який кличе його, і другий ряд.
Ви також можете передати два гачки (функція, яка буде виконана в процесі в певні часи):
init_hook
Дайте йому функцію розвитку цього процесу як аргумент і вона буде виконана в найкоротші вона створюється.
end_hook
Дайте йому функцію розвитку цього процесу в якості аргументу, і він буде виконувати прямо перед процес завершується. Якщо вона повертатися не-None значення, воно буде додано в чергу результатів.
І NBSP; Примітка
І NBSP; Щоразу, коли ваша функція не повертає None, значення не буде в списку результатів.
І NBSP; Примітка
І NBSP; порядок в QuerySet не поважатиме!
Приклад
Вибрати всі статті об'єктів:
>>> Від parallelized_querysets імпорт parallelized_queryset
>>> QS = Article.objects.all ()
>>> Parallelized_queryset (QS)
Додати всі статті об'єктів до індексу Redis (за умови, Стаття має метод append_to_redis):
>>> Від parallelized_querysets імпорт parallelized_queryset
>>> QS = Article.objects.all ()
>>> Parallelized_queryset (QS, функція = лямбда р, х: x.append_to_redis ())
Зробіть те ж саме, але на 6-процесів:
>>> Від parallelized_querysets імпорт parallelized_queryset
>>> QS = Article.objects.all ()
>>> Parallelized_queryset (QS, процеси = 6,
І NBSP; функція = лямбда р, х: x.append_to_redis ())
parallelized_multiple_querysets (querysets, процеси = None, функція = None)
. Те ж, що parallelized_queryset але querysets є список QuerySets
Вимоги
- Python
- Django
Коментар не знайдено