我正在编写一个 Python 服务
由于一些机器学习库不发布 GIL 我相信我不能使用线程。
我尝试使用 Joblib。我产生了机器学习部分和消息发布部分 在不同的工作中,如果我关闭记录到文件,它会起作用。 问题是我有 loguru 用于登录到标准输出和文件。 当我启用日志记录到文件时,我得到
_pickle.PicklingError: Cannot pickle files that are not opened for reading: a
来自 Joblib。但不幸的是,我无法禁用对生产文件的日志记录。 所以我正在寻找如何运行发布部分的解决方案 以及与启用日志记录并行的机器学习部分。
我唯一的想法是配置日志记录到文件 在 Joblib 作业中,而不是以前这样做。
问题与Multiprocessing Logging - How to use loguru with joblib Parallel
有关