1. 首页
  2. 技术文章
  3. Python

Python中的Celery库:入门指南

Python中的Celery库:入门指南 Celery是一个强大的分布式任务队列框架,用于在Python应用程序中处理异步任务。它允许您将任务从主应用程序中解耦,并在不同的机器上或不同的线程中执行它们。本文将向您介绍使用Celery的基本概念、安装步骤以及如何配置和编写代码。 安装Celery 要安装Celery,请使用pip命令运行以下命令: pip install celery Celery还依赖于消息中间件(如RabbitMQ、Redis等),您可以根据自己的需要进行选择和安装。 配置Celery 在开始使用Celery之前,您需要一个Celery配置文件。通常,这个配置文件包含连接消息中间件所需的详细信息。下面是一个示例配置文件: # celeryconfig.py broker_url = 'amqp://guest:guest@localhost:5672//' # RabbitMQ连接URL result_backend = 'db+mysql://user:password@localhost/db_name' # 结果存储后端连接URL task_default_queue = 'default_queue' # 默认任务队列 您可以根据实际情况修改这些配置选项。 编写一个Celery任务 让我们来编写一个简单的任务,并使用Celery来异步执行它。创建一个名为`tasks.py`的文件,并在其中添加以下代码: # tasks.py from celery import Celery # 创建Celery应用实例 app = Celery('tasks', broker='amqp://guest:guest@localhost:5672//') # 定义任务 @app.task def add(x, y): return x + y 在上面的代码中,我们从`celery`模块导入`Celery`类,并创建一个名为`tasks`的Celery应用实例。此外,我们还定义了一个名为`add`的任务,其中执行了两个数字的加法运算。 启动Celery Worker 要执行Celery任务,您需要在单独的终端窗口中启动Celery工作进程。在项目根目录下打开终端窗口,运行以下命令: celery -A tasks worker --loglevel=info 这会启动一个Celery工作者进程,它将等待执行任务。 调用Celery任务 在您的应用程序中,您可以通过向Celery应用程序发送任务请求来使用Celery任务。以下是一个简单的示例: python # main.py from tasks import add result = add.delay(4, 6) print(result.get()) 在上面的代码中,我们从前面的`tasks`模块导入了`add`任务,并使用`add.delay()`方法异步执行了该任务。然后,我们使用`result.get()`方法来获取任务的结果。 总结 Celery是一个非常强大的Python库,它可以帮助您在应用程序中处理异步任务。本文介绍了Celery的基本概念、安装步骤以及如何配置和编写代码。您现在可以开始使用Celery来提高您的应用程序的性能和可扩展性。
Read in English