未发布版本说明¶
4.4.1-3¶
新特性¶
添加了 oslo_service._multiprocessing 模块,提供了
get_spawn_context()和get_spawn_pool()工具。这些工具强制使用spawn启动方法,以避免 fork 继承的锁死锁,具体说明请参见:https://pythonspeed.com/articles/python-multiprocessing/
4.4.1¶
升级说明¶
为了向后兼容性,恢复了
ThreadGroup.max_threads属性。该属性在后端重构期间(提交8c74d0718dc11ed5)消失,导致诸如 Heat 之类的消费者在升级到 oslo.service 4.4.0 时失败。该属性现在映射到thread_pool_size,并发出DeprecationWarning。应用程序应迁移到thread_pool_size。该弃用属性可能会在未来的版本中删除。
4.4.0¶
升级说明¶
已移除对 Python 3.9 的支持。现在支持的最低 Python 版本是 3.10。
oslo.service.wsgi.Server类现在包含后端兼容性检查,以防止在线程后端中不当使用。使用线程后端并尝试实例化 WSGI 服务器的应用程序现在将立即收到UnsupportedBackendError异常,并附带清晰的错误消息。这是一个有意的破坏性更改,旨在防止可能因在线程环境中使用的为 eventlet 设计的组件而产生的潜在运行时问题和安全问题。这种快速失败的行为可确保使用线程后端的应用程序被引导至正确的部署模式。
迁移路径:用户应迁移到使用标准 WSGI 服务器(如
uwsgi、gunicorn或类似替代方案)来部署其 WSGI 应用程序,而不是依赖于已弃用的 oslo.service WSGI 服务器。