python multiprocess里怎么在多个process里同时访问nebula

  • nebula 版本:v3.0.0
  • 部署方式:单机
  • 安装方式: Docker
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
    我想要在multiprocessing里使用nebula服务,访问nebula图数据库来做一些数据处理。
    我尝试过两种方式,但是都报了错:
    第一种:
    在每个process里,都重新申明了一个conneciton_pool,然后用connection_pool.init([(‘graphd’, 9669)], config)来初始化这个pool,然后再用connection_pool.get_session(‘root’, ‘nebula’)来得到一个session,在这个session里访问nebula,也就是如果我有n个process,同时就会声明n个connection_pool,以及对应n个session
    报错:cannot assign requested address

第二种:
我怀疑第一种方式是同时开n个connection_pool,都用connection_pool.init([(‘graphd’, 9669)], config)初始化导致的报错,所以我又改成了只申明一个connecion_pool,然后在multiprocess的每个process里,都用这一个connecion_pool来get每个process里的一个session,也就是声明1个connection_pool,n个session
报错:程序到multiprocess调用nebula的时候,就卡死了,进程的状态是Z+

  • 相关的 meta / storage / graph info 日志信息

应该是第一个方法,nebula-python 的版本号是?

每一个pool 是可以拿到多个session的,不是一个

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。