更改历史记录 — Python 文档

来自菜鸟教程
Celery/docs/latest/history/changelog-4.0
跳转至:导航、​搜索

更改历史记录

本文档包含 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)。

  • Utilssaferepr 尝试将可迭代对象显示为列表,将映射显示为字典。

  • Utilssaferepr 在 Python 3 上尝试格式化 bytes 时没有处理 unicode 错误(问题 #3610)。

  • Utilssaferepr 现在应该正确地表示具有非 ascii 字符的字节字符串(问题 #3600)。

  • Results:修复了 elasticsearch 中 _index 方法错过 body 参数的错误(问题 #3606)。

    何翔宇 (Sean Ho) 提供的修复。

  • Canvas:修复了 ValueError 与单个任务标题的和弦(问题 #3608)。

    Viktor Holmqvist 贡献的修复。

  • Task:在注册之前确保基于类的任务有名称(问题 #3616)。

    Rick Wargo 贡献的修复。

  • Beat:修复了搁置中的字符串问题(问题 #3644)。

    修复由 Alli 贡献。

  • Worker:当 -O 参数设置为 fastfair 以外的其他值时,修复 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 而不是秒数。

  • Appregistry_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() 可能实际上不会返回一个链,它可以返回一个组或任何其他类型,具体取决于如何优化工作流。