Django-parallelized_querysets ay isang Django app upang mahawakan ang malaking Django QuerySets sa pamamagitan ng pagkalat ng kanilang pagpapatupad sa maramihang mga core at pinapanatiling mababa ang paggamit ng memory.
Pag-install
buto ng bungang-kahoy-install Django-parallelized_querysets
Paggamit
parallelized_queryset (queryset, mga proseso = Wala, pag-andar = Wala)
Iproseso ang ibinigay na queryset at ibalik ang mga resulta ng isang listahan.
proceses
Bilang ng mga proseso upang lumikha ng. Mga Default sa bilang ibinalik ng multiprocessing.cpu_count ().
tungkulin
Ilapat ang isang function ng bawat resulta. Hindi nalalapat ang anumang function na sa pamamagitan ng default. Ang unang argumento ay ang Proseso kung saan ay tumatawag ito, at ang ikalawa ay ang hilera.
Maaari ka ring magpasa ng dalawang Hooks (function na ay isinasagawa ng proseso sa tinukoy na oras):
init_hook
Bigyan ito ng paglalaan ng Proseso bilang argument ng function at ito ay pinaandar sa lalong madaling ito ay nilikha.
end_hook
Bigyan ito ng paglalaan ng Proseso bilang argument ng function at ito ay maisagawa bago mismo ang Proseso ng labasan. Kung nagbabalik ito ng isang hindi-Wala halaga, ito ay idinagdag sa queue resulta.
& Nbsp; Tala
& Nbsp; Sa bawat oras na bumalik ang iyong pag-andar Wala, ang halaga ay hindi dapat nasa nagreresulta listahan.
& Nbsp; Tala
& Nbsp; Ang pagkakasunud-sunod sa QuerySet ay hindi iginagalang!
Halimbawa
Bumalik lahat ng bagay Artikulo:
>>> Mula parallelized_querysets import parallelized_queryset
>>> Q = Article.objects.all ()
>>> Parallelized_queryset (Q)
Idagdag ang lahat ng Artikulo bagay sa isang Redis index (kung ipagpalagay na Artikulo ay may pamamaraan append_to_redis):
>>> Mula parallelized_querysets import parallelized_queryset
>>> Q = Article.objects.all ()
>>> Parallelized_queryset (Q, pag-andar = lambda p, x: x.append_to_redis ())
Gawin ang parehong ngunit sa 6 na proseso:
>>> Mula parallelized_querysets import parallelized_queryset
>>> Q = Article.objects.all ()
>>> Parallelized_queryset (Q, mga proseso = 6,
& Nbsp; pag-andar = lambda p, x: x.append_to_redis ())
parallelized_multiple_querysets (querysets, mga proseso = Wala, pag-andar = Wala)
. Kapareho ng parallelized_queryset ngunit querysets ay isang listahan ng QuerySets
Mga Kinakailangan :
- Python
- Django
Mga Komento hindi natagpuan