Leo Q

Results 239 comments of Leo Q

1. mysql has gone away 应该是连接池的问题, 应该是worker 超时时间和 mysql 配置的超时时间不一致导致的. 2. 任务重复执行可能是需要再做一个状态, 或者分片, 或者保证 worker 只有一个来解决. 3. 定时任务要有的, 有定时执行是需要的吧

https://github.com/hhyo/Archery/issues/2299#issuecomment-1736851901 这里有解决方案

现在还是覆盖率没达标, 我有一个提议, 现在 engine 实际上比较自由, 你可以尝试去做一个 python 的 package, 然后发布到 pypi 上, archery 去装你的包, 然后加载, 就可以达到同样的效果. 好处在代码和发布都是你来控制, CI, 覆盖率, 你想做就做. 当然我也清楚这些代码就不属于 archery 了, 我理解社区就是这样, 我自己也想把 archery 的比较独立的部分能够独立出去, 建立起来一个比较良好的, 可插拔的框架, 方便更多人的定制,...

谢谢你的 pr, 整个 pr 是符合我要求的, 测试覆盖率也还可以, 逻辑没有问题, 但是这个覆盖率要求比较死, 麻烦你能不能给这个mongo engine 随意补充一点点测试, 大致写 10-20 行的有意义的测试, 这也总体的覆盖率就会上升, 我就可以merge 你的 pr 了

https://app.codecov.io/gh/hhyo/Archery/pull/2747/blob/sql/engines/mongo.py 你可以参考这里的报告, 红色是没有测试覆盖, 绿色是有测试覆盖, 你随意找一些方法, 针对这些方法写一下测试就可以了 关于测试可以看这里的文档, https://github.com/hhyo/Archery/wiki/development#%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95

谢谢你的新功能,能否考虑将写入文件抽象一下,或使用django 的files 功能 https://docs.djangoproject.com/en/5.0/topics/files/ 以保证后续功能的可扩展性,比如说,有用户可能使用对象存储存放导出数据,当前的代码就比较难适应这个需求。

你说的没错,官方没有提供oss 集成,但这个功能是可扩展的,比如已有的项目 https://django-storages.readthedocs.io/en/latest/index.html 提供了 S3 的集成,而阿里云oss 是兼容 s3 协议的。 我个人更偏向django提供的这个interface,社区很有可能有很多现成的集成,后续archery 做自定义的扩展也会很简单,自己定义也很有可能和这个差不了多少。

建议把 @proxyxai 的发言mark off topic,该发言推荐的项目为闭源项目,至少现在是。

建议可以先加一些测试,lint和相关的CI,以此来保证基本的代码质量。 后续可以再将经验固化为 contribution guide,方便后续参考。