[英]sudo /etc/init.d/celeryd start generates a “Unknown command: 'celeryd_multi'”
我正在使用我的虛擬環境中的變量設置celery來運行daemonized。 但是當我運行$ sudo /etc/init.d/celeryd start
,我收到Unknown command: 'celeryd_multi' Type 'manage.py help' for usage.
我設置了以下內容:
CELERYD_CHDIR =“/ home / myuser / projects / myproject”ENV_PYTHON =“/ home / myuser / .virtualenvs / myproject / bin / python”CELERYD_MULTI =“$ ENV_PYTHON $ CELERYD_CHDIR / manage.py celeryd_multi”
當我從命令行運行$ /home/myuser/.virtualenvs/myproject/bin/python /home/myuser/projects/myproject/manage.py celeryd_multi
,它運行正常。
有任何想法嗎? 我很樂意發布你需要的任何其他代碼:)
謝謝!
也許你只是設置錯誤的DJANGO_SETTINGS_MODULE:
嘗試:DJANGO_SETTINGS_MODULE =“設置”< - > DJANGO_SETTINGS_MODULE =“project.settings”
這里的問題是當你以用戶身份運行它時,virtualenv已經為你的用戶“myuser”激活了適當的環境,它從/home/myuser/.virtualenvs/myproject /中提取包。
當您執行sudo /etc/init.d/celeryd start時,您將以root身份啟動芹菜,如果這樣的東西甚至存在,可能沒有在/root/.virtualenvs/中激活virtualenv,因此它在/ usr中查找python包/ lib / ...你的默認python是什么,因此你的芹菜沒有安裝。
您可以選擇:
su - myuser -c /bin/sh /home/myuser/.virtualenvs/myproject/bin/celeryd
從init.d作為myuser調用它。 思考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.