2016-04-05 19 views
2

Bugünkü okumamdan, bulduğum tüm örneklerde kerevizin Django'nun kendisinden tamamen ayrı bir kapta olduğunu görmedim. Crash , uygulama kaynak dosyalarını yürüttüğü ve task.py'nin yanı sıra ilk celery.py'nin de arandığı için aynı kapsayıcıda olması için ürününe sahip gibi görünüyor. Bu doğru mu, yoksa yanlış mı yazıyor? ÖrneğinKereviz'i Django'dan farklı bir kapta çalıştırabilir misiniz?

. Django, Nginx, Postgres ve bir saklama kabını döndürmek için docker-compose'u kullanıyorum. Bir kereviz ve rabbitmq konteynırı ekleyeceğimi farz ettim, fakat Django'yu uzak bir Kereviz sunucusu kullanacak şekilde yapılandırmanın bir yolunu göremiyorum.

Kereviz konusundaki anlayışım hala erken; umarım bu, başka yerlerde gözden kaçırdığım bir şey değildir.

sayesinde Varsayılan olarak
-p

+0

Web'de docker-compose django kerevizini ararsanız birkaç örnek vardır: https://www.syncano.io/blog/configuring-running-django-celery-docker-containers-pt-1/ Bu makaleyi okudum – dkarchmer

+0

sorusunu anlamadım. Oldukça eskidir (incir ve güneye atıfta bulunur) ve Kereviz'in aynı konteynırda çalışıp çalışmadığı konusunu konuşmaz. Ama cevap için teşekkürler. – Patrick

+2

Temel olarak aynı. Aynı kodu çalıştırmanız gerekiyor, sanırım, evet, aynı görüntüyü kullanıyorsunuz, ama daha sonra docker-compose'unuzdaki 'command' ve' environment' ifadelerini kullanıp düzenli bir django ve bir kereviz gibi çalışın – dkarchmer

cevap

1

, yani sen Heroku kullanırsanız django isteklerine yanıt vermek için, bir web Dyno çalıştırmak olur ve Kereviz için diğer işçi Dyno, her bir çalıştırmak Dyno ne ayrı örnek.

Her iki Dynos da aynı kodu çalıştırır, kereviz çalışanınızın modellere erişmesi gerekir ve bir kod tabanını yönetmek/dağıtmak kolaydır, ancak her iletişim için farklı kod tabanını kullanmanız arasında sizi durduran hiçbir şey yoktur. Django ve Kereviz AMQP protokolü ile bir Broker gibi Reddis atmak ile yapılır.

İlgili konular