django-parallelized_querysets es una aplicación Django para manejar grandes QuerySets Django mediante la difusión de su ejecución en múltiples núcleos y mantener el bajo uso de memoria.
Instalación
PIP instalar Django parallelized_querysets
Uso
parallelized_queryset (queryset, procesos = Ninguno, función = None)
Procesar la queryset dado y devolver el resultado como una lista.
Procesos de
Número de procesos para crear. Por defecto es el número devueltos por multiprocessing.cpu_count ().
función
Aplica una función del cada resultado. No se aplica ninguna función por defecto. El primer argumento es el proceso que lo está llamando, y el segundo es la fila.
También se puede pasar dos ganchos (función que será ejecutada por el proceso en momentos definidos):
init_hook
Darle una función de tomar el proceso como argumento y que se ejecutará en cuanto se la crea.
end_hook
Darle una función de tomar el proceso como argumento y se ejecuta justo antes de las salidas de proceso. Si devuelve un valor distinto de None, que se añadirá a la cola de los resultados.
& Nbsp; Nota
& Nbsp; Cada vez que su función devuelve None, el valor no estará en la lista resultante.
& Nbsp; Nota
& Nbsp; El orden en el QuerySet no se respeta!
Ejemplo
Devuelve todos los objetos del artículo:
>>> From parallelized_querysets parallelized_queryset importación
>>> Qs = Article.objects.all ()
>>> parallelized_queryset (cs)
Agregar todos los objetos con el índice del Artículo Redis (suponiendo que el artículo tiene un método append_to_redis):
>>> From parallelized_querysets parallelized_queryset importación
>>> Qs = Article.objects.all ()
>>> Parallelized_queryset (qs, función lambda = p, x: x.append_to_redis ())
Haga lo mismo pero en 6 procesos:
>>> From parallelized_querysets parallelized_queryset importación
>>> Qs = Article.objects.all ()
>>> parallelized_queryset (QS, procesos = 6,
& Nbsp; la función lambda = p, x: x.append_to_redis ())
parallelized_multiple_querysets (QuerySets, procesos = Ninguno, función = None)
. Igual que parallelized_queryset pero QuerySets es una lista de QuerySets
Requisitos :
- Python
- Django
Comentarios que no se encuentran