2017-01-12 2 views
0

私はdaemon.iとしてセロリを実行するためにubuntu 16とsystemdを使用していますが、単位ファイルも作成しましたが、サービスとしてセロリを実行することはできません。なぜこのエラーですか?セロリのデーモンを使ってシステムを実行していません

/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 

ファイル

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 

OUTPUT RUNNINGサービスは、/ etc/default /セロリで

● 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

してくださいまた、セロリのログファイルの内容が含まれ、パスは設定ファイルで定義されていますが提示しました: 'CELERYD_LOG_FILE ="/var/log/celery /%N.log "' –

+0

@ running.tログは空です。 ubuntuシステムはサービスとして実行できませんなぜerrror – anekix

+1

誰かがあなたを助けることができるかどうかわからない。あなたが示した唯一の情報は、セロリが終了コード1で終了していることです。何とかそれをデバッグする必要があります。たぶんsyslogや/ var/log/messagesの情報でしょうか?この質問は**別のサービスで尋ねられるべきです。 http://askubuntu.comまたはhttp://superuser.comは、プログラミングに関するものではありません。 –

答えて

0

私はちょうどこの正確な問題にヒットしました。私の問題は設定上の問題でした。特に、私は自分の環境ファイルに CELERYD_LOG_LEVEL を設定していませんでした。 (あなたの場合は/ etc/default/celeryd)。同じミスをしたようです。

は(私も、私はコマンドライン上でセロリを実行することにより、これらを発見した。私が解決するのに必要ないくつかの他の構成上の問題があった。)

関連する問題