Celery:修订间差异

无编辑摘要
无编辑摘要
第5行: 第5行:
*2009.04.24,Ask Solem 发布Celery 0.1.0
*2009.04.24,Ask Solem 发布Celery 0.1.0
*2010.02.10,发布Celery 1.0.0
*2010.02.10,发布Celery 1.0.0
*2016.11.04,发布Celery 4.0.0
*2016.11.04,发布Celery 4.0.0。配置文件引入小写字母设置和重命名了一些前缀。
*2020.09.24,发布Celery 5.0.0
*2020.09.24,发布Celery 5.0.0
*2021.06.18,发布Celery 5.1
*2021.06.18,发布Celery 5.1
第68行: 第68行:
|[https://docs.celeryproject.org/en/stable/userguide/periodic-tasks.html#starting-the-scheduler Celery 文档:周期性任务 - 启动调度器]
|[https://docs.celeryproject.org/en/stable/userguide/periodic-tasks.html#starting-the-scheduler Celery 文档:周期性任务 - 启动调度器]
}}
}}
== 配置 ==
=== 概览 ===
配置一般写在单独的文件中。如果使用默认加载器,文件名称需要为celeryconfig.py。Celery 4.0 版引入了小写设置和重命名一些前缀,旧的配置命令将在Celery 6.0不可用。一个简单的配置文件:
<syntaxhighlight lang="python">
# celery_task为项目目录,包含__init__.py、celeryconfig.py、task1.py、task2.py
# 以下为celeryconfig.py文件内容:
# 任务队列设置
broker_url = 'redis://127.0.0.1:6379'
# 任务转态和结果存储设置
result_backend = 'redis://127.0.0.1:6379/0'
# 指定时区,默认是 UTC
timezone = 'Asia/Shanghai'
# 导入任务模块
imports = (
    'celery_task.task1',
    'celery_task.task2'
    )
</syntaxhighlight>
{{了解更多
|[https://docs.celeryproject.org/en/stable/userguide/configuration.html Celery 文档:配置和默认值]
}}
=== Broker ===
{| class="wikitable"  style="width: 100%;
! 名称
! 描述
! 示例
|-
| [https://docs.celeryproject.org/en/stable/userguide/configuration.html#broker-url broker_url]
| 默认消息队列URL。格式:<br /><code>transport://userid:password@hostname:port/virtual_host</code> <br />transport默认为<code>amqp://</code>,其他可选<code>redis://</code>、<code>sqs://</code>和<code>qpid://</code>。
| <code><nowiki>broker_url = 'redis://127.0.0.1:6379'</nowiki></code>使用redis作为消息队列。
|-
|
|
|
|}
=== 日期时间 ===
{| class="wikitable"  style="width: 100%;
! 名称
! 描述
! 示例
|-
| enable_utc
|
|
|-
| [https://docs.celeryproject.org/en/stable/userguide/configuration.html#timezone timezone]
| 时区,默认"UTC"
|
|}
=== 后端存储 ===


==资源==
==资源==

2021年10月22日 (五) 02:09的版本

Celery是基于Python的一个开源的分布式实时任务队列工具,同时也支持任务调度。celery单词中文为芹菜。

简介

时间轴

  • 2009.04.24,Ask Solem 发布Celery 0.1.0
  • 2010.02.10,发布Celery 1.0.0
  • 2016.11.04,发布Celery 4.0.0。配置文件引入小写字母设置和重命名了一些前缀。
  • 2020.09.24,发布Celery 5.0.0
  • 2021.06.18,发布Celery 5.1

了解更多 >> Celery 文档:历史


安装

使用pip安装:

pip install -U Celery

基础知识

基本框架

名称 描述
drawio: celery架构

异步任务

定时任务

Celery也支持定时任务,即周期性任务(Periodic Tasks)。celery beat定期发布任务,然后由celery worker执行。

了解更多 >> Celery 文档:周期性任务



定时

类别 命令 描述

启动

启动celery beat服务:

celery -A your_proj beat

通过-B,也可在启动celery worker服务时,同时启动celery beat服务。这种简单方便,但只适用于单个worker节点,因此不建议用于生产用途:

celery -A your_proj worker -B

了解更多 >> Celery 文档:周期性任务 - 启动调度器


配置

概览

配置一般写在单独的文件中。如果使用默认加载器,文件名称需要为celeryconfig.py。Celery 4.0 版引入了小写设置和重命名一些前缀,旧的配置命令将在Celery 6.0不可用。一个简单的配置文件:

# celery_task为项目目录,包含__init__.py、celeryconfig.py、task1.py、task2.py
# 以下为celeryconfig.py文件内容:

# 任务队列设置
broker_url = 'redis://127.0.0.1:6379'

# 任务转态和结果存储设置
result_backend = 'redis://127.0.0.1:6379/0'

# 指定时区,默认是 UTC
timezone = 'Asia/Shanghai'

# 导入任务模块
imports = (
    'celery_task.task1',
    'celery_task.task2'
    )

了解更多 >> Celery 文档:配置和默认值



Broker

名称 描述 示例
broker_url 默认消息队列URL。格式:
transport://userid:password@hostname:port/virtual_host
transport默认为amqp://,其他可选redis://sqs://qpid://
broker_url = 'redis://127.0.0.1:6379'使用redis作为消息队列。

日期时间

名称 描述 示例
enable_utc
timezone 时区,默认"UTC"

后端存储

资源

官网

相关教程

相关文章