📅  最后修改于: 2023-12-03 15:24:46.250000             🧑  作者: Mango
在Python中,可以使用消息队列来实现异步任务和任务并行处理。为了运行特定队列,我们需要使用第三方库。
安装第三方库:Celery
pip install celery
导入必要的库
from celery import Celery
在代码中定义Celery实例
app = Celery('tasks',
broker='redis://localhost:6379/0',
backend='redis://localhost:6379/0')
在这里,我们使用Redis作为消息代理和结果后端。你可以根据自己的需要选择其他的代理和后端。
定义任务函数
@app.task
def add(x, y):
return x + y
启动worker
要启动worker,可以使用以下命令:
celery -A tasks worker --loglevel=info
这将启动名为tasks的应用程序,并使用默认队列,等待异步任务的执行。
发送任务
发送任务需要使用Celery应用程序的实例。我们可以从上面定义的app变量中获取它。
result = app.send_task('tasks.add', args=[2, 4])
print(result.get(timeout=1))
在这里,我们使用send_task函数发送名为tasks.add的任务。使用args参数将2和4作为参数传递给任务。
我们使用Result对象的get方法获取任务的结果。在这里,我们将超时时间设置为1秒。
输出结果将是6。
以上就是如何开始工作以运行特定队列的Python示例代码。使用Celery可以轻松地实现任务并行处理和异步任务。