Celery 常用配置文件

续上篇文章 Celery 异步任务

异步任务神器 Celery 简单实用

https://www.168seo.cn/python/24932.html

在上面的例子中,我们直接把 Broker 和 Backend 的配置写在了程序当中,更好的做法是将配置项统一写入到一个配置文件中,通常我们将该文件命名为 celeryconfig.py。Celery 的配置比较多,可以在官方文档查询每个配置项的含义。

下面,我们再看一个例子。项目结构如下:

__init__.py 内容如下

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

celeryconfig.py 内容

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

task1.py 代码如下:

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

task2.py 代码如下:

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

client.py 代码如下:

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

现在,让我们启动 Celery Worker 进程,在项目的根目录下执行下面命令:

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

接着,运行 $ python client.py,它会发送两个异步任务到 Broker,在 Worker 的窗口我们可以看到如下输出:

Celery 常用配置文件-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客

delay 和 apply_async

在前面的例子中,我们使用 delay()apply_async() 方法来调用任务。事实上,delay 方法封装了 apply_async,如下:

也就是说,delay 是使用 apply_async 的快捷方式。apply_async 支持更多的参数,它的一般形式如下:

apply_async 常用的参数如下:

  • countdown:指定多少秒后执行任务

  • eta (estimated time of arrival):指定任务被调度的具体时间,参数类型是 datetime

  • expires:任务过期时间,参数类型可以是 int,也可以是 datetime

更多的参数列表可以在官方文档中查看。

HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客