2017-08-27 19 views
1

I Sellerie basierend Einrichtung bin auf einem Beispiel und an dieser Stelle ...Einrichtung django & Sellerie: Standort für Sellerie Weg

$ export PYTHONPATH=/webapps/hello_django/hello:$PYTHONPATH 
$ /webapps/hello_django/bin/celery --app=hello.celery:app worker --loglevel=INFO 

an meinem Ende als

gesetzt
[email protected]:~/Documents/code/revamp$ export PYTHONPATH=/home/samuel/Documents/code/revamp/gallery:$PYTHONPATH 
[email protected]:~/Documents/code/revamp$ /home/samuel/Documents/code/revamp/revamp/celery --app=revamp.celery:app worker --loglevel=INFO 
bash: /home/samuel/Documents/code/revamp/revamp/celery: No such file or directory 

nicht sicher, was tat es auf den Weg, und das ist, was das Ergebnis

-------------- [email protected] v3.1.11 (Cipater) 
---- **** ----- 
--- * *** * -- Linux-3.2.0-4-amd64-x86_64-with-debian-7.5 
-- * - **** --- 
- ** ---------- [config] 
- ** ---------- .> app:   hello_django:0x15ae410 
- ** ---------- .> transport: redis://localhost:6379/0 
- ** ---------- .> results:  disabled 
- *** --- * --- .> concurrency: 2 (prefork) 
-- ******* ---- 
--- ***** ----- [queues] 
-------------- .> celery   exchange=celery(direct) key=celery 

[tasks] 
    . testapp.tasks.test 

[2014-05-20 13:53:59,740: INFO/MainProcess] Connected to redis://localhost:6379/0 
[2014-05-20 13:53:59,748: INFO/MainProcess] mingle: searching for neighbors 
[2014-05-20 13:54:00,756: INFO/MainProcess] mingle: all alone 
[2014-05-20 13:54:00,769: WARNING/MainProcess] [email protected] ready. 

meine Vermutung sein soll, ist I-Pfad auf den Pfad für Sellerie Installation festlegen muß, wenn ja, wer kann mir den Weg sagen.

+0

Haben Sie Sellerie installiert? Warum sollte es bei '/ home/samuel/Documents/code/revamp/revamp/sellerie' sein? –

Antwort

0

Hatten viele Headeaches mit Sellerie Tutorials da draußen. Versuchen Sie dies:

  • Erste Sache, die Sie ein virtual enviroment für Ihr Projekt brauchen, also müssen Sie Wege nicht gründen.

bash:

sudo pip3 install virtualenv 
virtualenv env 
source env/bin/activate 
  • Dann benötigen Sie ein django Projekt und eine App.

bash:

pip install django 
    django-admin starproject myproject 
    cd myproject 
    python manage.py startapp myapp 
  • Dann sollten Sie pip install celery

  • Nächstes eine tasks.py auf dem gleichen Niveau Ihres view.py auf myapp Verzeichnis machen:

tasks.py

from celery import Celery 
from celery.decorators import task 

app = Celery('tasks', broker='pyamqp://[email protected]//') 

@task(bind=True,name="my_task")  
def my_task(self): 
    print('hello') 
    return 1+1 
  • Installieren Sie Ihren Broker (rabbitmq)

bash:

sudo apt-get install rabbitmq-server 
sudo service rabbitmq-server restart 
  • zu Ihrer App-Verzeichnis gehen, die eine, die tasks.py und laufen celery -A tasks worker --loglevel=info hat. Dies funktioniert nur in dem Verzeichnis, in dem Aufgaben definiert sind. Dann sollten Sie Ihren Arbeiter aufziehen lassen. Wenn Sie etwas aus Ihrer Aufgabe drucken oder zurückgeben, sollte es hier erscheinen.

  • Schließlich sollten Sie Ihre Aufgabe verwenden. Richten Sie eine Ansicht (Setup url, machen Sie eine Vorlage, etc.) und rufen Sie Ihre Aufgabe aus der Sicht:

views.py

from django.shortcuts import render 
from .tasks import my_task 

def index(request): 
    my_task.delay() 
    return render({},'index.html') 

Die Magie ist, dass die Verzögerung Anruf assync, nicht -blockierbar. Von diesem minimalistischen Beispiel hoffe ich, dass Sie die Pfade, über die Sie Tutorials sprechen, besser verstehen und komplizierte Dinge tun können, wie zum Beispiel das Setzen von Sellerie-Einstellungen auf settings.py, das Aufrufen des Arbeiters aus anderen Verzeichnissen, die Dinge auf den Weg bringen ... Das war ein echter Schmerz, als ich versuchte, dies von den offiziellen Dokumenten zu lernen.

Viel Glück!

+0

Sie wissen, was ich versuchen werde Rabbitmq anstelle von redis ... sehen, ob ich weiterkommen kann. –

+0

Der Fehler, den Sie beschrieben haben, wird von virtualenv, nicht rabbitmq, festgelegt – Tico

Verwandte Themen