将匿名函数传递给Celery任务可以通过以下方式实现:
from celery import Celery
app = Celery('task', broker='redis://localhost:6379/0')
@app.task
def my_task(func, *args, **kwargs):
return func(*args, **kwargs)
result = my_task.apply_async(args=(lambda x: x**2, 5))
在上述代码中,我们定义了一个名为my_task
的Celery任务,并使用@app.task
装饰器将其标记为Celery任务。该任务接受一个函数作为参数,并通过apply_async
方法调用该任务并传递匿名函数作为参数。
需要注意的是,Celery任务的参数传递需要使用args
和kwargs
来传递参数,因此在调用任务时,我们将匿名函数作为第一个参数传递给args
,并将其他参数传递给kwargs
。
关于Celery的更多信息和使用方法,可以参考腾讯云的相关产品文档:Celery产品介绍。
请注意,本回答中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,以符合问题要求。
领取专属 10元无门槛券
手把手带您无忧上云