混合django芹菜和独立芹菜

Ama*_*zay 2 django celery

我们正在运行一个使用Django和Piston构建的网站,我想实现芹菜以将任务卸载到外部服务器.我真的不想在辅助服务器上运行Django,而只想运行纯Python的芹菜工作者.我可以在Django服务器上编写简单的函数存根,并在辅助服务器上编写实际的函数逻辑吗?

Django Side

from celery import task

@task
send_message(fromUser=None, toUser=None, msgType=None, msg=None):
    pass
Run Code Online (Sandbox Code Playgroud)

服务器端

from celery import Celery
celery =  Celery('hello', broker='amqp://guest@localhost//')
@celery.task
send_message(fromUser=None, toUser=None, msgType=None, msg=None):
    # Do send_message logic here
Run Code Online (Sandbox Code Playgroud)

ask*_*sol 5

这很容易实现.

如果您有一个纯python Celery工作者,只要您使用相同的代理URL,就可以按名称发送任务:

from celery import Celery
celery = Celery(broker='amqp://guest@localhost//')
Run Code Online (Sandbox Code Playgroud)

然后在某些观点:

 celery.send_task('send_message', kwargs={
     'fromUser': ...,
 })
Run Code Online (Sandbox Code Playgroud)