2015-05-08 19 views
5

Oyuncak django + gunicorn projem var. Sadece bir kez belleğe oldukça büyük yüklenen ve ardından işçilerde/iş parçacıklarında yeniden kullanılmasını sağlayan istatistiksel bir modele sahip olmak istiyorum.Django - gunicorn - Uygulama seviyesi değişkeni (çalışanlar arasında paylaşılır)

Bir uygulama düzeyi değişkeni nasıl/nerede tanımlarım? settings.py'ye ve wsgi.py

+0

Peki, bunu denediğinizde ne oldu? –

+0

değişken tüm uygulamalarda kullanılabilir, ancak çalışan başına bir değişken var. tek bir örnek (tekil) Herhangi bir ipucu? –

cevap

0

'a da koymaya çalıştım. Yapabileceğinizi (veya yapmamalısınız) düşünmüyorum. İşçiler, kodunuzdan herhangi birini çalıştırmadan önce çatallanan ayrı süreçlerdir.

Redis DB'de "modeli" ne (büyük yapan nedir?) Koyabilir ve her çalışandan oraya erişebilirsiniz. En iyi seçenek muhtemelen tek bir örneği çalıştırdığınız ayrı bir hizmet oluşturmak ve işçinizden HTTP veya RPC aracılığıyla iletişim kurmaktır (kolay (mikro) hizmetler çerçevesi için nameko'a bakın.

Başka bir seçenek Tek bir Kereviz çalışanı kullanmak ve bir görevdeki istatistiksel hesaplamaları yapmak olacaktır.

İlgili konular