Ich habe mein Gehirn auf diesem einen seit den letzten Tagen kratzen, habe ich andere Probleme auf Stackoverflow gesehen (wie es eine doppelte Frage ist) und ich habe alles versucht, um dies zu arbeiten Die Arbeiter laufen gut, aber der Sellerie beginnt nicht als Prozess.Running Sellerie als Daemon erstellt keine PID-Datei
ich den Befehl:
sudo service celeryd start
und ich bekomme:
celery init v10.1.
Using config script: /etc/default/celeryd
celery multi v3.1.23 (Cipater)
> Starting nodes...
> [email protected]: OK
Ich betreibe:
sudo service celeryd status
und ich bekomme:
celery init v10.1.
Using config script: /etc/default/celeryd
celeryd down: no pidfiles found
Die selleryd down: keine pidfiles gefunden Fehler ist, was ich lösen muss.
Ich weiß, dass diese Frage ein Duplikat ist, aber immer noch mit mir auf diesem einen gehen, weil ich alle versucht habe und immer noch nicht in der Lage, es zu lösen.
Ich stelle dieses Skript auf Amazon Web Services bereit. Ich benutze eine virtuelle Umgebung.
Das init.d
Skript ist direkt aus der here übernommen und dann gab ich ihm die erforderlichen Berechtigungen.
Hier ist meine Konfigurationsdatei:
# Names of nodes to start
# most people will only start one node:
CELERYD_NODES="worker1"
# but you can also start multiple and configure settings
# for each in CELERYD_OPTS (see `celery multi --help` for examples):
#CELERYD_NODES="worker1 worker2 worker3"
# alternatively, you can specify the number of nodes to start:
#CELERYD_NODES=10
# Absolute or relative path to the 'celery' command:
# CELERY_BIN="/usr/local/bin/celery"
CELERY_BIN="/home/<user>/.virtualenvs/<virtualenv_name>/bin/celery"
# App instance to use
# comment out this line if you don't use an app
# CELERY_APP="proj"
# or fully qualified:
CELERY_APP="<project_name>.settings:app"
# Where to chdir at start.
CELERYD_CHDIR="/home/<user>/projects/<project_name>/"
# Extra command-line arguments to the worker
CELERYD_OPTS="--time-limit=300 --concurrency=8"
# %N will be replaced with the first part of the nodename.
CELERYD_LOG_FILE="/var/log/celery/%N.log"
CELERYD_PID_FILE="/var/run/celery/%N.pid"
# Workers should run as an unprivileged user.
# You need to create this user manually (or you can choose
# a user/group combination that already exists, e.g. nobody).
CELERYD_USER="celery"
CELERYD_GROUP="celery"
# If enabled pid and log directories will be created if missing,
# and owned by the userid/group configured.
CELERY_CREATE_DIRS=1
ich den Prozess verwendet haben, den Sellerie Benutzer mit this Artikel zu erstellen.
Mein Projekt ist ein Django-Projekt und ich habe die Umgebungsvariable DJANGO_SETTINGS_MODULE
in der Sellerie-Einstellungsdatei angegeben, wie in der documentation und auch im Stackoverflow answer angegeben.
Muss ich irgendetwas in der init.d Skript oder irgendetwas anderes, das in der Sellerie-Konfigurationsdatei hinzugefügt werden muss ändern ... Ist es über den Sellerie Benutzer, die ich geschaffen habe, weil ich auch versucht,
AngabeCELERYD_USER = ""
CELERYD_GROUP = ""
während auch die Wert zu "" in der init.d
Skript ändern. Immer noch blieb das Problem bestehen.
In einer der Antworten wurde auch gesagt, dass es einige Fehler im Projekt geben könnte ... aber ich habe dank meiner Testfälle keine solchen Fehler gefunden.
PS: Ich habe angegeben, und für Datenschutzprobleme haben sie ihre ursprünglichen Namen.
Ich habe das gleiche Problem. Es scheint, als folge die Dokumentation manchmal hier. – Ryan