标签: Python

Python module加载机制剖析

之前实现了python module多版本动态加载,但是在最近一次一个小哥上传的模型中居然有对.so文件的import,十万只草泥马,Python居然还有这种操作,所以再一次对Python的import流程做了一次梳理。

记一次Python服务实例静默退出排查

这段时间发现一个python的服务实例经常静默退出,从应用日志里未找到任何异常现场,一切都很正常。

怎么办呢,首先想到的就是完善日志,应用启动入口try住,捕获BaseException异常进行输出,打包上线。

什么,又退出了,看看解释器层面有没有日志,Oh no,这不是JVM,没找到Python解释器层面有任何日志记录,鄙视Python。

Python多版本多module动态加载

这里有一个Python服务,它提供机器学习模型在线服务,用户只要将模型文件和加载、使用模型的的代码文件打包上传,该服务就可以将该模型上线。
无论是那种机器学习模型,要进行使用,肯定逃不了这两个套路:

  • 模型的加载(初始化)
  • 模型的调用(预测)
    也就是说我们可以在平台层面进行一定的约束,基于我们的规范实现,然后我们提供对应的服务。