2017-01-12 3 views
0

Ich benutze Ubuntu 16 und Systemd für den Betrieb Sellerie als Daemon.I haben die Unit-Datei auch erstellt, aber ich bin nicht in der Lage, Sellerie als Service zu betreiben. Warum ist dieser Fehler?Sellerie Daemon mit Systemd nicht läuft

/etc/systemd/system/celery.service

[Unit] 
Description=Celery Service 
After=network.target 

[Service] 
Type=forking 
User=celery 
Group=celery 
EnvironmentFile=-/etc/default/celery 
WorkingDirectory=/srv/weaver/src 
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \ 
    -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \ 
    --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}' 
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \ 
    --pidfile=${CELERYD_PID_FILE}' 
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \ 
    -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \ 
    --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}' 

[Install] 
WantedBy=multi-user.target 

Datei/etc/default/Sellerie

ENABLED="true" 
CELERYD_NODES="worker1" 
#CELERYD_NODES="worker1 worker2 worker3" 
CELERY_BIN="/usr/local/bin/celery" 
CELERY_APP="main:celery_app" 
CELERYD_CHDIR="/srv/weaver/src" 
CELERYD_OPTS=" --queue=weaver --time-limit=100000 --concurrency=2" 
CELERYD_LOG_FILE="/var/log/celery/%N.log" 
CELERYD_PID_FILE="/var/run/celery2/%N.pid" 
CELERYD_USER="celery" 
CELERYD_GROUP="celery" 
CELERY_CREATE_DIRS=1 
# Change Celery Beat 
CELERYBEAT_CHDIR="/srv/weaver/src" 
# Log files 
CELERYBEAT_LOG_FILE="/var/log/celery/celerybeat.log" 
# Celery Beat Log files 
CELERYBEAT_PID_FILE="/var/run/celery/celerybeat.pid" 
# Scheduler for celery 
CELERYBEAT_OPTS=" --pidfile=/var/run/celery/celerybeat.pid --sch 

AUSGABE RUNNING SERVICE

● celery.service - Celery Service 
    Loaded: loaded (/etc/systemd/system/celery.service; disabled; vendor preset: enabled) 
    Active: failed (Result: exit-code) since Thu 2017-01-12 17:12:32 IST; 2min 17s ago 
    Process: 18561 ExecStop=/bin/sh -c ${CELERY_BIN} multi stopwait ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE} (code=exited, status=0/SUCCESS) 
    Process: 18540 ExecStart=/bin/sh -c ${CELERY_BIN} multi start ${CELERYD_NODES} -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FIL 
Main PID: 18555 (code=exited, status=1/FAILURE) 

Jan 12 17:12:30 fb01 systemd[1]: Starting Celery Service... 
Jan 12 17:12:31 fb01 sh[18540]: celery multi v3.1.23 (Cipater) 
Jan 12 17:12:31 fb01 sh[18540]: > Starting nodes... 
Jan 12 17:12:31 fb01 sh[18540]:   > [email protected]: OK 
Jan 12 17:12:31 fb01 systemd[1]: Started Celery Service. 
Jan 12 17:12:32 fb01 systemd[1]: celery.service: Main process exited, code=exited, status=1/FAILURE 
Jan 12 17:12:32 fb01 sh[18561]: celery multi v3.1.23 (Cipater) 
Jan 12 17:12:32 fb01 sh[18561]: > [email protected]: DOWN 
Jan 12 17:12:32 fb01 systemd[1]: celery.service: Unit entered failed state. 
Jan 12 17:12:32 fb01 systemd[1]: celery.service: Failed with result 'exit-code'. 
+1

Bitte beachten Sie auch Inhalt von Sellerie Protokolldateien enthalten, Pfad in der Konfigurationsdatei definiert ist, präsentieren Sie : 'CELERYD_LOG_FILE ="/var/log/sellerie /% N.log "' –

+0

@ running.t Protokolle sind leer. Ubuntu-System ist nicht in der Lage, es als Dienst auszuführen, deshalb ist der Fehler – anekix

+1

Dann bin ich mir nicht sicher, ob jemand Ihnen helfen kann. Die einzige Information, die du gezeigt hast, ist, dass Sellerie mit Exit Code 1 aussteigt. Du wirst es irgendwie debuggen müssen. Vielleicht einige Infos in Syslog oder in/var/log/messages? BTW diese Frage ** sollte ** in verschiedenen Diensten, z.B. http://askubuntu.com oder http://superuser.com, da es sich nicht um Programmierung handelt. –

Antwort

0

Ich habe genau dieses Problem getroffen. Mein Problem war ein Konfigurationsproblem. Insbesondere habe ich CELERYD_LOG_LEVEL nicht in meiner Umgebungsdatei festgelegt. (/ etc/default/selleryd in Ihrem Fall). Es sieht so aus, als hättest du den gleichen Fehler gemacht.

(I, die ich zu lösen benötigen auch ein paar anderen Konfigurationsprobleme hatten. Ich diese Sellerie auf der Kommandozeile, indem Sie entdeckt.)

Verwandte Themen