2011-01-26 6 views
6

Projemde kereviz kullanmayı düşünüyorum. Onu nasıl kullanacağım hakkında birçok bilgi buldum. İlgilendiğim şey, çözümümün nasıl dağıtılacağı/paketleneceği.Django ile dağıtım - dağıtım

İki bileşeni çalıştırmam gerekiyor - django uygulaması ve daha sonra celeryd worker (e-posta gönderen bileşen). Örneğin, django uygulamamın destek biletlerine e-posta gönderen email_ticket görevini kullanmasını istiyorum. Django uygulamasında tasks.py dosyası oluşturuyorum.

@task 
def email_ticket(from, message): 
... 

benim django uygulaması dağıtmak ve sonra sadece aynı yolda ayrı süreç olarak celeryd koşmak mı?

./manage.py celeryd ... 

Ne farklı sunucularda işçiler? Tüm django uygulamasını dağıt ve sadece celeryd? Anladım ki kereviz sadece işçi için kullanabilirdim, ama ben kereviz ve kereviz kullanmak istiyorum.

Herhangi bir geri bildiriminiz için teşekkür ederiz. Teşekkürler

Her türlü geri bildiriminiz için teşekkür ederiz.

+0

İyi soru. Kabul edilen cevap ("her şeyi konuşlandır") kesinlikle basit ve sağlamdır - ancak en uygun değildir. Belki de birileri tüm süreci çok fazla komplike etmemekle birlikte, sadece gerekli olan kodu "işçi" makinelerine dağıtmanın iyi bir yolunu düşünebilir. –

cevap

3

Bu, here numaralı belgede ele alınmıştır. Gist, bazı init komut dosyalarını indirmeniz ve bazı yapılandırmalarınızı kurmanız gerekiyor. Bir kez bittiğinde, Celeryd açılışta başlayacak ve sen de kaçacaksın.

+0

Bu bağlantıyı biliyorum. Daha fazla ilgilendiğim proje yapısı. Django uygulamamı ve çalışan kodumu nasıl yapılandırabilirim? Sadece django uygulamalarını içeren başka bir dağıtım oluşturmalı mıyım? Örneğin, bir çalışan dağıtımı için şablonlara ve medyaya ihtiyacım yok. Yine de modellere ihtiyacım var. – Tomas

+1

Sanırım, onu nerede kullandığınıza bağlı. Üzerinde çalıştığım şeyler için, hepsi bir web sitesine dağıtılıyor, bu yüzden uygulamaları uygulamaya koyuyorum (projem ince taneli uygulamalara bölünmüş durumda). Sonra tüm şeyi yalnızca çalışan düğümlerine dağıtıyorum. Bu çok basit ve bir şeyleri kırmak için endişelenmiyorum çünkü onu işçi düğümünün içine dahil etmeyi unutmuşum. –

+0

Sanırım bunu yapmanın yolu budur. Her çalışan düğümü için Django uygulamamı yeniden dağıtacağım ve ardından çalışanı çalıştıracağım. Teşekkürler, girişinizi takdir ediyorum. – Tomas