Running Celery as root

2020-05-19 04:05发布

I need to run my Django along with Celery as root for access reasons. It says I need to set C_FORCE_ROOT environment variable. How/where do I set the environment variable?

3条回答
兄弟一词,经得起流年.
2楼-- · 2020-05-19 04:45

Anywhere so the python process picks it up by using os.environ.

If your question is about how the environment variables work, please read this tutorial.

查看更多
唯我独甜
3楼-- · 2020-05-19 04:52

1st solution - Manually type command at terminal

$ export C_FORCE_ROOT='true'

2nd solution - Edit shell configuration

$ vi ~/.bashrc

    # add following line
    export C_FORCE_ROOT='true'

$ source ~/.bashrc

3rd solution - Edit manage.py of Django

import os 

if __name__ == '__main__':
    os.environ.setdefault('C_FORCE_ROOT', 'true')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{PATH TO SETTINGS FILE}')

    execute_from_command_line(sys.argv)
查看更多
在下西门庆
4楼-- · 2020-05-19 04:55

You can set it to true like this:

# export C_FORCE_ROOT="true"

Then make sure it is set as an env. variable

# echo $C_FORCE_ROOT
true

But make sure to make it permanent, as this will vanish with the next restart

Have fun :) !!

查看更多
登录 后发表回答