Django-parallelized_querysets является приложение Django, чтобы обрабатывать большие Django QuerySets распространяя их исполнение на нескольких ядрах и держать использование памяти низко.
Установка
пункт установить Django-parallelized_querysets
Использование
parallelized_queryset (QuerySet процессы = нет, функция = 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)
. То же самое, но parallelized_queryset querysets список QuerySets
Требования
- Python
- Джанго
Комментарии не найдены