Python 在芹菜中注册不同的任务
我用芹菜做了两种任务。一个是独立的芹菜任务,它可以根据数据库推送通知执行操作(程序侦听数据库,一旦有消息,它就会启动任务)。另一个与django集成,django接受url请求,用于启动任务。我随后用芹菜安装了django应用程序。对于独立芹菜任务,我在最外面的Python 在芹菜中注册不同的任务,python,django,celery,Python,Django,Celery,我用芹菜做了两种任务。一个是独立的芹菜任务,它可以根据数据库推送通知执行操作(程序侦听数据库,一旦有消息,它就会启动任务)。另一个与django集成,django接受url请求,用于启动任务。我随后用芹菜安装了django应用程序。对于独立芹菜任务,我在最外面的django目录下有tasks.py,该目录定义了正常任务: from celery import Celery from demoapp.utils.read_images import download_images_mem app
django
目录下有tasks.py
,该目录定义了正常任务:
from celery import Celery
from demoapp.utils.read_images import download_images_mem
app = Celery('tasks', backend='redis://localhost', broker='amqp://guest@localhost//')
@app.task
def make_video(img_url_list, deviceid, utc, dst, cityname, streetname, CorF, lat, lon):
download_images_mem(img_url_list, deviceid, utc, dst, cityname, streetname, CorF, lat, lon)
我在demoapp
目录下还有一个tasks.py
,它的开头是:
@shared_task
def fired_by_url():
func definitions
我使用rabbitmq作为代理,使用redis作为这两个任务的后端。我的问题是,我怎样才能把它们组合在一起?基本上我遵循了《django芹菜》教程和《普通芹菜》教程,这就是为什么我有如此奇怪的目录布局和文件。但我想知道如何把它们组合在一起。我有这样的问题:我应该使用哪个芹菜实例?
settings.py中的app=芹菜('proj')
或app=芹菜('tasks',backend')redis://localhost'经纪人'amqp://guest@localhost/')
?我应该使用哪一个装饰器来完成这两项任务?我应该如何组织我的文件?它们应该在同一台机器上运行。我对芹菜很陌生,现在有点困惑。任何帮助都将不胜感激。提前谢谢。我想你的设置中不需要app=芹菜(“proj”)。另一个应该可以。我认为你的settings.py中不需要app=芹菜('proj')。另一个应该有效。