[英]python Django Celery project structure
我正在测试celery以用作多处理集群应用程序,但是我正在寻找一些提示以及这是否是正确的方法...
我在用
Centos 6.4上的python 2.6.6 celery-3.1.7 Django14-1.4.8-1.el6.noarch
我已经设置了两个芹菜项目。 非django和django ...
非Django项目目录
/usr/local/proj
├── celery.py
├── celery.pyc
├── __init__.py
├── __init__.pyc
├── tasks.py
└── tasks.pyc
Django项目目录
/usr/local/proj.django/
├── demoapp
│ ├── __init__.py
│ ├── models.py
│ ├── tasks.py
│ ├── tests.py
│ └── views.py
├── django.wsgi
├── manage.py
└── proj
├── celery.py
├── __init__.py
├── __init__.pyc
├── settings.py
├── settings.pyc
├── urls.py
├── urls.pyc
├── wsgi.py
└── wsgi.pyc
non-django项目已作为NFS挂载在celery服务器上,我能够从task.py提交任务,并且我可以检查celery Flower上的状态。
但是,我很困惑如何通过celery django项目来使用它。
问题:
我在这里听起来像是愚蠢的,所以表示歉意。
任何意见,将不胜感激...
完全没有必要安装任何东西,您应该能够运行celery worker分别收听队列。
如果您的任务必须按照我的理解使用django代码,请考虑在所有celery节点中复制代码,例如,所有节点都应从同一git存储库中提取,最好甚至使用诸如fabric之类的工具
要注意的一件事是启用从所有节点到您的数据库(即mysql)的远程访问
编辑:“不需要挂载”我的意思是在所有节点上都安装了所有需要的工具,即pip install django celery ...
并且还从中央存储库(即git)中提取了您的代码,这取决于您的托管,甚至复制机器本身,让所有相同的机器都监听中央队列
EDIT2:
我是否需要通过NFS与所有celery节点共享/usr/local/proj.django/proj?
我想它可以工作,尽管更好的做法是从中央仓库中撤出,请参见上文
Django项目是否有可能将non-django celery项目用于所有芹菜任务。
问题是您在哪里运行芹菜工人,并使用哪些参数? 参见芹菜工人指南
作为旁注,请考虑安装/启用rabbitmq管理插件以查看发生了什么事情
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.