@auvipy @thedrow @georgepsarakis我们可以快速发布 4.2.2 来满足 redis 的限制吗? 因为它目前与具有不兼容更改的最新 redis 发生冲突
我不确定我是否有时间。 我会尽量这样做。
这次我可以释放,但需要一些明确的指示
获得包括 redis 依赖项修复的 4.2.2 确实是 gr8,因为我已经花了太多时间来找到问题的根源,这对任何跳入它的人都有好处!
这个新版本会支持 python 3.7 吗?
是的
这个新版本会支持 redis 3.0.1 吗?
是的
@auvipy , @thedrow ,我可以为这个版本提供什么帮助吗?
问题 #5212 对发布至关重要。
我们仍然需要使用 Python 3.7 测试 Celery。
@thedrow看起来如果我们发布 Kombu 版本,#5212 是固定的,对吗?
如果这是正确的,那么我们需要向我们的 CI 添加 3.7 测试。 我可以解决这个问题。
py-amqp 和 kombu 版本是先决条件,之后,我可以完善我的 pr 以获得 3.7 支持以使其合并
@auvipy你的意思是这个公关: https :
我只发布了带有该修复程序的 Kombu 4.2.2。
构建现在应该通过。
有没有关于这个版本的 ETA 发布的想法?
还有一些工作要做。 我们还需要修复 Kombu 的构建。
我将讨论剩余的问题。
@thedrow我可以接手的任何问题吗?
或者你打算在这里列出剩余的问题?
@xirdneh您可以查看里程碑https://github.com/celery/celery/milestone/20 。
我认为我们可以从这个里程碑中删除非拦截器。 并解决剩下的问题。 发布 py-amqp 和相关包以检查它们如何在 celery 4.3 rc1 上工作
现在 master 的构建在 Python 3.7 上失败了。
见https://travis-ci.org/celery/celery/jobs/473236382。
@thedrow我认为这是由于 Python 3.7 将生成器中引发的StopIteration
异常转换RuntimeError
异常,请参见此处。
我的建议是添加一个异常处理分支,检测RuntimeError
的特定类型:
https://github.com/celery/kombu/blob/e4dc1688a2bfe422813ffc79d9db50c06f38fbaf/kombu/asynchronous/hub.py#L348 -L359
except RuntimeError as e:
if e.args != ('generator raised StopIteration',):
raise e
诚然,上述内容可能被认为有些弱,但我认为在这种特殊情况下,这是识别异常转换的唯一方法。
那个修正是不正确的。
见https://github.com/celery/celery/blob/master/t/unit/worker/test_loops.py#L386
根据 PEP 479,生成器应该再筹集StopIterator
。
这应该在 #5263 中修复。
似乎我们发现了一个更严重的问题,在我看来这是一个障碍。
见https://travis-ci.org/celery/celery/jobs/473900629#L3204
希望https://github.com/celery/kombu/pull/972可以解决这个问题。
kombu 的构建已损坏,因此整个测试套件无法运行。
见https://travis-ci.org/celery/kombu/jobs/472712374#L1215。
我无法在本地重现 kombu 的测试失败:(
@thedrow我已经修复了失败的https://github.com/celery/kombu/pull/978。 测试使用来自 master 的 pyamqp 库。 测试打破了 PR https://github.com/celery/py-amqp/pull/221。
也许一个简单的结果是解决这对夫妇DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
py-amqp 2.4.0 现已发布。
接下来依次是 Kombu。
@thedrow 4.3 版本缺少什么? Kombu PR 似乎已经合并 - 我们是否在等待 Kombu 的新版本? 我们是否在等待修复https://github.com/celery/celery/milestone/20 中的所有内容
试着看看我能帮上什么忙。
我需要分类对 Kombu 4.3 至关重要的问题。
https://github.com/celery/celery/issues?q=is%3Aopen+label%3A%22Status%3A+Needs+Test+Coverage+%E2%9C%98%22+milestone%3Av4.3或https://github.com/celery/kombu/pull/911会有所帮助。
我认为我们已经准备好发布 Kombu,但我需要验证一下。
与此同时,我正在编写发行说明。
我们能否也请解决 #5259 中的争议?
由于我无法编辑 celery/kombu#911 我打开了一个新的 PR: https :
#5206 也是如此。 我打开了#5289
关于StopIteration
东西:在 Kombu 中,它被更改为不将ValueError
“转换”为StopIteration
https://github.com/celery/kombu/pull/972/档案
但是,在 celery worker.loops.asynloop
会捕获StopIteration
错误并在这种情况下创建一个新循环。 没有芹菜的变化,海带的变化会不会引起一些问题? 因为现在不是创建新循环,而是继续使用现有(但已损坏?)循环?
@larsrinn请打开一个关于它的问题,这样我们就不会忘记调查它。
在写票时,我发现不需要任何操作,因为从生成器返回会引发StopIteration
。 芹菜所依赖的昆布的外在行为不应改变。 见例如:
def len_generator(max_):
a = 0
while True:
yield a
a += 1
if a == max_:
return
g = len_generator(2)
print(next(g)) # 0
print(next(g)) # 1
print(next(g)) # raises StopIteration
如果针对 kombu 主分支运行,Python 3.7 的 CI 失败测试也会通过。 至少对我本地而言。 所以当新版本的kombu发布时,这个job中的失败测试应该会通过: https :
这将包括对异步问题的修复吗?
我希望这能尽快发布。
是的,我也在等。
但我必须说,我有点担心芹菜的未来。 Python 3.7 已经发布 7 个月了,但仍然不受支持。 我知道这个项目是由志愿者运营的,他们可能有很多其他事情要做。 但我在过去几周贡献了几个 PR,主要是增加测试覆盖率并使 CI 通过。 似乎它们都没有被看过,更不用说合并了,即使它们都很小,评论应该可以在几分钟内完成,甚至几秒钟。 这是一次非常令人失望的贡献体验。
对项目进行更小的发布将是一个很大的改进。 4.3 是一个仍然需要工作的大版本,同时许多用户有严重的内存泄漏等
@larsrinn如果我有时间,我会审查您的 PR。
对项目进行更小的发布将是一个很大的改进。 4.3 是一个仍然需要改进的大版本,同时许多用户有严重的内存泄漏等严重问题,这些问题可以在 4.2.X 版本中快速修复。 即使贡献一个特定的修复程序也不是很有用,因为它会在几个月内不会发布。
是的,我绝对可以支持这一点。 考虑到 celery 是具有大量功能集的非常成熟的项目,我想对于大多数用户来说,快速修复关键问题并确保与最新版本的兼容性比添加新功能/弃用旧东西要重要得多。
我绝对同意上述说法。 Python 3.7 支持对我来说是目前最重要的事情。
是否可以选择添加其他维护者?
我过去 9 年工作的大多数公司都以一种或另一种方式使用 Celery。 在最后一个中,我们甚至有自己的分支来应用我们需要的修复,因为我们的问题没有在主流分支中修复。
在我看来,这个项目需要启动一个赞助计划,就像 Django 和 DRF 一样。 由于这个惊人的项目,让公司为他们获得的所有利润买单,并将这笔钱交给开发人员,以便他们全职工作。
Celery 对当前的 pytest(另一个流行的模块)有轻微的破坏; #5271 描述了问题,#5097 修复了它。 也许如果 4.3 版本变得太令人生畏,那么小版本升级到 4.2.2 可能会汇总几个较小的修复(#5271 和其他错误修复)? 我意识到这说起来容易做起来难,但它可能会让我们一群人重新加入发布周期,而不是在等待 4.3 时维护自己的分叉。 感谢您提供这个出色的模块。
那么哪些公司会赞助我们的工作呢? 有人感兴趣吗? 我非常有兴趣让一些公司支持我与芹菜兼职/全职工作的时间!
我敢肯定,如果定期捐赠有适当的设置,公司会更容易订阅每月支持并忘记它。 这可能是比简单的贝宝一次性捐赠按钮更稳定的收入来源。 例如,我可以很容易地说服我的公司这样做,而不是要求他们一次性捐赠很多,或者记住他们进行手动定期捐赠。
我还要补充一点,对于我们的项目,celery 是唯一阻止我们升级到 python 3.7 的拦截器
一个相关链接: https :
我认为赞助是很有可能的,但你需要把这个想法植入人们的脑海中。 例如,在这个线程之外,甚至没有人认为这个项目可能需要支持,他们只是下载并安装 celery 并认为它只是“存在”。 我想,如果你们发起筹款活动,很多公司都会捐款。
我在 README 中看到了捐赠链接,并从个人帐户中贡献了一点,但对于公司来说,它仍然太晦涩难懂。 它应该就在他们面前(至少在所有社交网络中),并且应该有适当的号召性用语。 例如,如果您是一名开发人员并且您知道您的公司依赖 celery,请让您的经理捐赠。
我可以说,每当我看到我喜欢的开源项目有组织的筹款活动时,我总是尝试捐赠或至少传播他们的社交媒体活动。 我相信很多人都在做同样的事情。
我举办了一场筹款活动,结果却以一场巨大的失败告终!! 我们在自述文件中打开了 opencollective 和潮汐提升选项。 有兴趣的人可以在那里捐赠/赞助或直接在我的电子邮件中ping我。
@auvipy我看到 4.3 里程碑中的大部分问题现在都已移动或关闭。
我们是否计划很快发布 4.3 版本?
是的!!! 因为迟到了!!
我在做。 期待 RC 很快。
我举办了一场筹款活动,结果却以一场巨大的失败告终!! 我们在自述文件中打开了 opencollective 和潮汐提升选项。 有兴趣的人可以在那里捐赠/赞助或直接在我的电子邮件中ping我。
芹菜作者。 我已成为 https://opencollective.com/celery 的支持者。 感谢您提供的出色工具。 你的工具对我帮助很大:)
有人反对代号 4.3 为大黄吗?
这是 Selected Ambient Works II 中我最喜欢的曲目之一。
如果您有任何其他建议,请在此处注明。
我喜欢 :)
Kombu 4.3 现已发布!
有人可以看看我们的 Windows 版本吗?
一些测试失败了。
此外,我们在那里缺少一些 Python 版本,我们应该添加它们(尽管这不是阻止程序)。
@thedrow Windows 构建在哪里运行? 应用程序?
有人可以看看我们的 Windows 版本吗?
一些测试失败了。
此外,我们在那里缺少一些 Python 版本,我们应该添加它们(尽管这不是阻止程序)。
那么现在 4.3 好用吗?
你好! 你关闭了这个issue,但是pypi上的版本还是4.2.1。 有什么地方可以跟踪 pypi 上的发布吗? 谢谢。
嗨伙计,
@seirl我相信由于#5329 的描述包含Fixes #5180
文本,这个问题被意外关闭。
@auvipy您能否在4.3
未实际发布之前重新打开此问题?
谢谢!
我的不好,我认为自动关闭只是滑轮的一种选择
这是由 GitHub 自动关闭的!!!
@xirdneh 是的。
我几乎完成了更改日志。 我仍然需要详细说明一些项目,我需要完成添加我还没有得到的剩余项目。
什么是新的部分仍然很不完整。
请随时以任何可能的方式提供帮助。
我们有一个潜在的 GA 拦截器: https :
RC 将按计划进行。
可以访问 FreeBSD 安装的人可以调试这个吗?
大家好。 任何预计到达时间?
我刚刚完成了第一个 RC 的发行说明。
它将于今天发布。
你有稳定版本的 ETA 吗?
一旦在生产中尝试了几周,我们将宣布 GA。
在不久的将来,我们将改进我们的发布流程并记录下来,以便一切都更加清晰。
RC1 被释放。 :tada:
请在您的登台环境中尝试。
同时,如果有人可以仔细看看https://github.com/celery/kombu/issues/1006 , https://github.com/celery/kombu/issues/1007和https://github 。 com/celery/kombu/issues/1004都是 Kombu 4.3 的回归,这将帮助我们实现 GA。
由于https://github.com/celery/kombu/issues/1004似乎在同一区域,我也尝试修复: https :
两者现已合并。
@lithammer谢谢!
我从发行说明中稍作休息,开始写
我将继续我们的新文档。
我发布了 Kombu 4.4 和 Celery 4.3.0RC2。
除非有任何异议或关键修复,否则这将是最后一个 RC。
我也刚刚发布了 py-amqp 2.4.3。
它修复了两个严重的反序列化错误。 我在生产中没有听说过关于它们的任何消息。
可能是因为 AMQP 协议中没有带有两个后续位图的消息。
修复是为了完整性,因为我猜它们可能会使 Celery 崩溃。
感谢@thedrow 所做的出色工作。
GA 的潜在拦截器: https :
@thedrow我这周可能有时间来验证一下。 如果可以,我会更新问题。
@xirdneh如果不更新,请更新,我会处理的。
@lithammer如果您想贡献更多,我什至会授予您提交权限:)
GA 的明确阻止程序:#5377
我已经完成了此版本的新增功能文档。
请查看它,如果我遗漏了什么,请告诉我。
@thedrow似乎非常全面和翔实! 不过有一个说明,我不确定它是否以某种方式自动包含在内,但在我看来,贡献者列表尚未添加?
我还没有生成贡献列表。
我将在 GA 之前这样做。
以下是我们当前发布的阻止程序列表:
潜在的阻滞剂:
@thedrow我认为https://github.com/celery/celery/issues/5383也是有效的。
我刚刚发布了 Celery 4.3.0rc3。
这包括新功能和错误修复以及一些已解决的阻止程序。
你可能知道什么时候可以提供完整版?
当我们完成解决所有阻止程序时。
只剩下一个拦截器,而不是一些最终的文档任务。
@thedrow看起来像 celery/ unique
关键字还需要支持,所以不完整?
是的。 我将在明天完成该任务以及最终的文档任务。
下一个版本 Celery 5 令人兴奋。
我想开始从 master 中删除 python2
我能知道 Celery 5 什么时候发布吗? 我真的很高兴使用它。
也许在圣诞节前的一些时候:)
@auvipy你能发表一篇关于 4.3 的博文吗?
是的,当然,开始 kast ng=ight 但很忙。 将在今天完成。
最有用的评论
发布了! :tada:
感谢大家的努力、时间和技能。
下一个版本 Celery 5 令人兴奋。