2016-04-01 25 views
0

Django'yu uzun süren tek bir işlem olarak (sıraya alınmış istekleri işleyen) çalıştırmak için bir (önerilen) yolu var mı?Uzun süre çalışan Django süreci uygulanabilir mi?

En iyi yansıtılmış performans ayarının hala üretim için yeterince hızlı olmayacağı bir performans sorununu çözmeye çalışıyorum. Gerek ayarlanan DB istekleri ve önbellekleme, seri hale getirme işleminde çok fazla zaman harcamayı başardı. Ayrıca, querysets oldukça statiktir. Bu nedenle, performans sorununun çözülmesi için bir seçenek, uzun süren bir işlemden kaynaklanan mevcut/gerçekleştirilmiş querysets üzerinde hesaplama yapmak olacaktır.

Bu şekilde django çalıştırmanın bir yolu bilen var mı?

cevap

0

Django Python'da olduğu için, uygulamada bir komut dosyasını, sunucuda çalışan bir cron iş olarak ya da sürekli olarak çalıştırabilirsiniz. senaryo proje dizininde ise

, bu hatları ile başlamak gerekir:

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<module>.settings") 

hangi <module> yılında settings.py dosyasını içeren dizindir.

Ardından örneğin normalde nesneleri ve işlevini erişebilirsiniz: Buradaki sorun istekleri kabul edilir

from app.models import * 

if __name__ == "__main__": 
    obj = MyObj.objects.all() 
+0

. Yine de istekleri kabul etmek istiyorum, ancak aynı süreç içinde, verileri bellekteki isteklerde etkili bir şekilde paylaşabilirim. – Catskul

İlgili konular