我可以用没有姜果的芹菜吗



我有API代码,它将任务添加到队列中,然后让工人消耗这些任务。

目前我有两个相同的代码库。但我希望芹菜工人只拥有简单的普通Python任务,而没有django代码,因为工人只处理任务,不需要django。有可能吗。

为了启动芹菜工人,我需要使用这条线

celery -A django_project worker --queue high

我应该写什么而不是django_project那里

可以。Celery是一个通用的异步任务队列。代替"django_project",您可以指向您的模块。看见http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#application例如。

下面是一个使用芹菜的项目布局示例:

project-dir/
    mymodule/
         __init__.py 
         celery.py
         tasks.py
    tests/
    setup.py
    etc, etc (e.g. tox.ini, requirements.txt, project management files)

在mymodule/celery.py中:

# -*- coding : utf-8 -*-
from __future__ import absolute_import
from celery import Celery
app = Celery('mymodule',
             broker='amqp://',
             backend='amqp://',
             include=['mymodule.tasks'])
if __name__ == '__main__':
    app.start()

在mymodule/tasks.py:中

from __future__ import absolute_import
from mymodule.celery import app
@app.task
def add(x, y):
    return x + y

您绝对可以在不使用Django或Flask等任何web框架的情况下使用Celery。只需创建Celery对象和相应的任务,然后运行以下命令

celery -A filename.celery_object_name worker --loglevel=info

稍后,只需运行Python文件。你不需要设置任何东西。无论是否使用任何Web框架,它都能准确工作。

相关内容

  • 没有找到相关文章

最新更新