要为Celery指定应用程序,您需要创建一个Celery实例并指定应用程序的名称。以下是一个示例代码:
from celery import Celery
# 创建Celery实例
app = Celery('myapp', broker='amqp://guest:guest@localhost:5672//')
# 配置Celery
app.conf.update(
result_backend='rpc://',
task_serializer='json',
accept_content=['json'],
result_serializer='json',
)
# 定义任务
@app.task
def add(x, y):
return x + y
在这个示例中,我们创建了一个名为myapp
的Celery实例,并通过broker
参数指定了消息代理的URL。您可以根据您的实际情况更改这个URL。然后,我们使用app.conf.update()
方法配置了Celery的一些选项,例如结果后端、任务序列化器等。
最后,我们使用@app.task
装饰器定义了一个名为add
的任务。您可以根据您的需求定义更多的任务。
请确保在运行任务之前,您已经启动了Celery的worker进程,可以使用以下命令启动worker:
celery -A myapp worker --loglevel=info
这个命令会启动一个名为myapp
的Celery worker,并将日志级别设置为info
。
现在,您可以在应用程序中调用add
任务,例如:
result = add.delay(1, 2)
print(result.get())
这将异步调用add
任务,并打印出任务的结果。
请注意,这只是一个简单的示例,您可以根据您的实际需求进行适当的更改和调整。