Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:生产芹菜的工人,Ubuntu18+;_Python_Django_Ubuntu_Redis_Celery - Fatal编程技术网

Python Django:生产芹菜的工人,Ubuntu18+;

Python Django:生产芹菜的工人,Ubuntu18+;,python,django,ubuntu,redis,celery,Python,Django,Ubuntu,Redis,Celery,我在学芹菜,我想问: 当Django在Ubuntu中启动时,哪种方法是让芹菜自动运行的最简单的方法?。现在我通过终端手动启动芹菜-A{prj name}worker-l INFO 我可以进行任何类型的配置,以便芹菜能够捕获tasks.pycode中的更改,而无需重新启动芹菜吗?现在,每当我在tasks.py代码中更改某些内容时,我ctrl+c并键入芹菜-A{prj name}工作者-l信息。如果我能让芹菜自动启动==>需要重新启动Ubuntu吗?我可以预见这种方法在生产中会出现问题 (设置:VP

我在学芹菜,我想问:

  • 当Django在Ubuntu中启动时,哪种方法是让芹菜自动运行的最简单的方法?。现在我通过终端手动启动
    芹菜-A{prj name}worker-l INFO
  • 我可以进行任何类型的配置,以便芹菜能够捕获
    tasks.py
    code中的更改,而无需重新启动芹菜吗?现在,每当我在
    tasks.py
    代码中更改某些内容时,我
    ctrl+c
    并键入
    芹菜-A{prj name}工作者-l信息。如果我能让芹菜自动启动==>需要重新启动Ubuntu吗?我可以预见这种方法在生产中会出现问题
  • (设置:VPS,Django,Ubuntu18.10(无docker),无外部资源,使用Redis(自动启动)

    我知道这是一个类似的问题,但仍然有点不清楚,因为它指的是亚马逊,也使用了shell脚本,crontab。这些东西不能开箱即用似乎有点奇怪

    我有理由怀疑我误解了芹菜的设置

  • 我有一个部署脚本,可以在生产中启动芹菜。 在生产中,最好启动worker:
  • 这将停止并启动不同队列的5个工作进程

  • Cellery在启动时将获得使用此代码实例的wsgi文件,这意味着您需要重新启动它以应用修改,您不能在生产中添加观察者(内存成本)
  • celery multi stop 5
    celery multi start 5 -A {prj name} -Q:1 default -Q:2,3 QUEUE1 -Q:4,5 QUEUE2 --pidfile="%n.pid"