gpt4 book ai didi

django - 在 Ubuntu 中使用 systemd 配置 celery - 模块路径失败

转载 作者:行者123 更新时间:2023-12-04 18:45:02 25 4
gpt4 key购买 nike

我使用 Ubuntu Server 18.04,Django,我想将 celery 与 systemd 一起使用。

我有以下错误:

ModuleNotFoundError: No module named 'ph'
May 02 21:02:55 ph-1c1m1t sh[2646]: Traceback (most recent call last):

我知道这是一个路径错误,但我尝试了有关应用程序的多种组合,但我无法解决它。

项目结构为:
username
-projects
-src
- ph
- settings (folder)
- celery.py
-urls.py

配置文件
CELERYD_NODES="w1 w2"
CELERY_BIN="/home/username/env/prod/bin/celery"
CELERY_APP="ph.celery:app"
CELERYD_MULTI="multi"
CELERYD_OPTS="--time-limit=300 --concurrency=8"
CELERYD_PID_FILE="/var/run/celery/%n.pid"
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_LOG_LEVEL="INFO"

在 systemd 中,celery.service 我有:
[Unit]
Description=Celery Service
After=network.target

[Service]
Type=forking
User=username
Group=username
WorkingDirectory=/home/username/env/prod/
EnvironmentFile=-/etc/celery/celery.conf
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

最佳答案

尝试指定 PYTHONPATH在您的 /etc/celery/celery.conf .这应该指向包含 ph 的文件夹。包裹。

PYTHONPATH=/home/username/projects/src
CELERYD_NODES="w1 w2"
CELERY_BIN="/home/username/env/prod/bin/celery"
CELERY_APP="ph.celery:app"
CELERYD_MULTI="multi"
CELERYD_OPTS="--time-limit=300 --concurrency=8"
CELERYD_PID_FILE="/var/run/celery/%n.pid"
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_LOG_LEVEL="INFO"

关于django - 在 Ubuntu 中使用 systemd 配置 celery - 模块路径失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50143673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com