更改历史记录 — Python 文档
更改历史记录
本文档包含 4.0.x 系列 (latentcall) 中错误修复版本的更改说明,请参阅 Celery 4.0 中的新功能 (latentcall) 以了解 Celery 4.0 中的新功能。
4.0.2
- 发布日期
- 2016-12-15 03:40 PM PST
- 发布者
- 问庄严
要求
现在取决于 Kombu 4.0.2。
Tasks:修复了 group 的 JSON 序列化问题(
keys must be string
错误,问题 #3688)。Worker:修复了使用
inspect active
和朋友时的 JSON 序列化问题(问题 #3667)。App:修复了使用信号时的安全引用错误(问题 #3670)。
Prefork:修复了 Python 2.7.5 及更早版本上需要字节参数的包的错误(问题 #3674)。
Tasks:Saferepr 没有在 Python 2 上处理字节串中的 unicode(问题 #3676)。
测试:添加了新的
celery_worker_paremeters
夹具。由 迈克尔·豪维茨 提供。
Tasks:为
GroupResult.restore
添加了新的app
参数(问题 #3669)。这使得恢复方法的行为方式与
GroupResult
构造函数相同。由 Andreas Pelme 提供。
Tasks:修复了 Python 3 上任务采用
*args
时的类型检查崩溃(问题 #3678)。文档和示例改进:
布拉加·拉兹万-保罗
迈克尔·霍维茨
4.0.1
- 发布日期
- 2016-12-08 05:22 PM PST
- 发布者
- 问庄严
[安全性:CELERYSA-0003] 不安全的默认配置
默认 :setting:`accept_content` 设置被设置为允许在 Celery 4.0.0 中反序列化腌制消息。
4.0.1 中已经修复了不安全的默认值,您还可以将 4.0.0 版本配置为明确只允许 json 序列化消息:
app.conf.accept_content = ['json']
Tasks:添加了注册基于类的任务的新方法(问题 #3615)。
要注册基于类的任务,您现在应该调用
app.register_task
:from celery import Celery, Task app = Celery() class CustomTask(Task): def run(self): return 'hello' app.register_task(CustomTask())
Tasks:参数检查现在支持 Python3 上的仅关键字参数(问题 #3658)。
贡献者 :github_user:`sww`。
Tasks:即使配置为发送
task-sent
事件,也不会发送(问题 #3646)。Worker:修复了对 eventlet/gevent 池的 AMQP 心跳支持(问题 #3649)。
App:如果配置未最终确定,
app.conf.humanize()
将无法工作(问题 #3652)。Utils:
saferepr
尝试将可迭代对象显示为列表,将映射显示为字典。Utils:
saferepr
在 Python 3 上尝试格式化bytes
时没有处理 unicode 错误(问题 #3610)。Utils:
saferepr
现在应该正确地表示具有非 ascii 字符的字节字符串(问题 #3600)。Results:修复了 elasticsearch 中 _index 方法错过 body 参数的错误(问题 #3606)。
何翔宇 (Sean Ho) 提供的修复。
Canvas:修复了
ValueError
与单个任务标题的和弦(问题 #3608)。Viktor Holmqvist 贡献的修复。
Task:在注册之前确保基于类的任务有名称(问题 #3616)。
Rick Wargo 贡献的修复。
Beat:修复了搁置中的字符串问题(问题 #3644)。
修复由 Alli 贡献。
Worker:当
-O
参数设置为fast
或fair
以外的其他值时,修复inspect stats
中的KeyError
(问题#3621)。Task:重试的任务不再发送到原始队列(问题 #3622)。
Worker:Python 3:修复了
apps/worker.py
中的 None/int 类型比较(问题 #3631)。结果:Redis 有一个新的 :setting:`redis_socket_connect_timeout` 设置。
Results:Redis 结果后端错误地将
socket_connect_timeout
参数传递给基于 UNIX 套接字的连接,导致崩溃。Worker:修复了在 Python 3.x 上运行时工人闪屏中丢失的标志(问题 #3627)。
Brian Luan 贡献的修复。
Deps:修复了
celery[redis]
捆绑安装(问题 #3643)。Rémi Marenco 贡献的修复。
Deps:捆绑包
celery[sqs]
现在也需要 :pypi:`pycurl`(问题 #3619)。Worker:不再遵守硬时间限制(问题 #3618)。
Worker:软时间限制日志显示
Trues
而不是秒数。App:
registry_cls
参数不再有效(问题 #3613)。Worker:事件生产者现在使用
connection_for_Write
(问题 #3525)。Results:Redis/memcache 后端现在使用 :setting:`result_expires` 来过期和弦计数器(问题 #3573)。
由 Tayfun Sen 提供。
Django:修复了使用 Django 升级设置的命令(问题 #3563)。
François Voron 贡献的修复。
Testing:添加了一个
celery_parameters
测试装置,以便能够使用自定义的Celery
初始化参数。 (#3626)由 Steffen Allner 提供。
文档改进贡献者
穆萨·塔菲
尤哈娜
洛朗·佩奇
基督教
布鲁诺·阿拉
史蒂文·约翰斯
东德!
4.0.0
- 发布日期
- 2016-11-04 02:00 PM PDT
- 发布者
- 问庄严
请参阅 Celery 4.0 中的新功能(latentcall)(在 docs/whatsnew-4.0.rst
中)。
4.0.0rc7
- 发布日期
- 2016-11-02 01:30 PM PDT
重要说明
数据库结果后端相关设置名称从
sqlalchemy_*
->database_*
更改。sqlalchemy_
命名设置在此版本中根本不起作用,因此您需要重命名它们。 这是最后一刻的更改,因为它们在 3.1 中不受支持,我们将不提供别名。chain(A, B, C)
现在与A | B | C
的工作方式相同。这意味着调用
chain()
可能实际上不会返回一个链,它可以返回一个组或任何其他类型,具体取决于如何优化工作流。