task:

装饰函数,将函数当成celery的任务函数

import time
from celery import Celery
app=Celery('tasks',broker='redis://192.168.10.48:6379',backend='redis://192.168.10.48:6379)

@app.task
def xxxxxx(x, y):
 time.sleep(10)
 return x + y

share_task:

1. 装饰函数,将函数当成celery的任务函数,

2. 不依赖某个celery对象,而是加载到内存之后自动添加到celery对象中

3. 与多个celery对象进行关联

import time
from celery import Celery
from celery import shared_task
share_task֢
app=Celery('tasks',broker='redis://192.168.10.48:6379',backend='redis://192.168.10.8:63')

@shared_task
def xxxxxx(x, y):
 time.sleep(10)
 return x + y
 

s1.py
 import time
 from celery import Celery
 app = Celery('tasks',broker='r...')
 
s2.py
 from celery import shared_task
 @shared_task
 def x1(x, y):
 time.sleep(10)
 return x + y

s3.py
import s1
import s2
import time
from celery import Celery
from celery import shared_task
app1 = Celery('t1',broker='redis://192.168.10.48:6379')
app2 = Celery('t2',broker='redis://192.168.10.49:6379')

@app1.task
def x1(x, y):
 time.sleep(10)
 return x + y

@app2.task
def x2():
 return 666

@shared_task
def x3():
 pass

​

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐