ydf0509 / funboost

pip install funboost,python全功能分布式函数调度框架,funboost的功能是全面性重量级,用户能想得到的功能99%全都有;funboost的使用方式是轻量级,只有@boost一行代码需要写。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚 。
Apache License 2.0
682 stars 135 forks source link

[BUG]ModuleNotFoundError: No module named 'db_libs' [contrib里面是作者额外贡献的功能,需要用户自己安装相关三方包] #107

Closed anjia0532 closed 6 months ago

anjia0532 commented 7 months ago

4.11.2.b 作者自己贡献一个吧函数消费状态保存到mysql的函数,(2024.02新增)

根据文档使用mysql存储消费状态,显示缺少 db_libs 模块

https://github.com/ydf0509/funboost/blob/03ce8bd3362c76fe3789b8dc728d1bcf2fb600ee/funboost/contrib/save_result_status_to_sqldb.py#L5

项目库全局搜了下没有 SqlaReflectHelper 这个文件,也没有 db_libs.sqla_lib 这个包

ydf0509 commented 7 months ago

这个包也是本人发明的,需要用户自己pip install db_libs

你用到contrib文件夹下的东西,contrib意思是额外的贡献,contrib的东西这是和框架主流程无关的,所以需要用户自己安装啊

99%的人不会用到 funboost/funboost/contrib/save_result_status_to_sqldb.py ,如果funboost安装时候是自动安装db_libs了, 有的人又要在那里呱呱叫,又抱怨说安装本人的全家桶,

anjia0532 commented 6 months ago

非常感谢,引入 db_libs 后还有两个小问题,不过已经解决了。

  1. pymysql 如果用最新的 1.1.0 会提示 AttributeError: module 'MySQLdb.constants' has no attribute 'FLAG' 降级到 0.7.7 可以了 (其他主要包及版本如下 funboost==42.9,sqlalchemy==2.0.28,pymysql==0.7.7,db_libs==0.9)
  2. 按照 https://github.com/ydf0509/funboost/blob/03ce8bd3362c76fe3789b8dc728d1bcf2fb600ee/funboost/contrib/save_result_status_to_sqldb.py#L10-L51 的建表语句,会提示缺少 run_status ,执行 ALTER TABLE funboost_consume_results ADD COLUMN run_status varchar(255) NULL AFTER run_times;
ydf0509 commented 6 months ago

是的,因为是后来新加的字段run_status