2011-01-26 28 views
6

Rozważam użycie selera w moim projekcie. Znalazłem wiele informacji o tym, jak go używać itp. Interesuje mnie to, jak wdrożyć/spakować moje rozwiązanie.Seler z Django - wdrożenie

Muszę uruchomić dwa komponenty - aplikację django, a następnie seleryd (komponent wysyłający e-maile). Na przykład chciałbym, aby moja aplikacja django korzystała z zadania email_ticket, które wysyłało e-maile z pomocą techniczną. Tworzę tasks.py w aplikacji django.

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

Czy wdrażam moją aplikację Django, a następnie uruchamiam seleryd jako oddzielny proces z tej samej ścieżki?

./manage.py celeryd ... 

Co z pracownikami na różnych serwerach? Wdróż całą aplikację django i uruchom tylko selerię? Rozumiem, że mogę używać selera tylko dla pracownika, ale chciałbym użyć celerycam i selera.

Wszelkie uwagi są mile widziane. Dzięki

Dziękujemy za wszelkie uwagi.

+0

Dobre pytanie. Przyjęta odpowiedź ("wszystko wdrożyć") jest z pewnością prosta i solidna - ale nie optymalna. Może ktoś może wymyślić ładny sposób na przesłanie tylko wymaganego kodu do maszyn "pracowniczych", a jednocześnie zbytnio nie komplikuje całego procesu. –

Odpowiedz

3

Jest to opisane w dokumentacji here. Istotą jest to, że musisz pobrać kilka skryptów startowych i skonfigurować konfigurację. Gdy to zrobisz, seleryd wystartuje na starcie, a będziesz gotowy do pracy.

+0

Wiem o tym łączu. Tym, czym bardziej mnie interesuje, jest struktura projektu. Jak mogę uporządkować moją aplikację Django i kod roboczy? Czy powinienem utworzyć kolejną dystrybucję zawierającą tylko potrzebne aplikacje django? Na przykład nie potrzebuję szablonów i mediów dla dystrybucji pracowników. Potrzebuję jednak modeli. – Tomas

+1

Myślę, że to zależy od tego, gdzie je wdrażasz. Jeśli chodzi o rzeczy, nad którymi pracuję, wszystko zostanie wdrożone na jednej stronie internetowej, więc po prostu umieszczam zadania w aplikacji (mój projekt jest podzielony na aplikacje o drobnym uziarnieniu). Następnie po prostu wdrażam całość do węzłów roboczych. To proste i nie martwię się, że coś zepsuje, ponieważ zapomniałem włączyć go do dystrybucji w węźle pracowniczym. –

+0

Sądzę, że to sposób na zrobienie tego. Po prostu ponownie zainstaluję aplikację Django dla każdego węzła roboczego, a następnie uruchomę proces roboczy. Dzięki, doceniam twój wkład. – Tomas

Powiązane problemy