pickle load导致supervisord仅在我的Azure VM中重新启动

问题描述 投票:0回答:1

我有15个运行此代码的VM。 10个在Rackspace Hyper-V中,5个在Azure中。这些虚拟机彼此相同(版本控制,软件包等)。我的10个Rackspace VM在运行pickle功能时没有问题,但我在Azure中构建的5个随机重启supervisord每15秒。我知道这是我的pickle负载,因为我可以注释掉代码的加载部分,它不再重新启动supervisord。

我已经尝试再次git我的代码,我甚至更换了dat文件的副本。

下面的代码已经概括。

    self.__loadPickFiles() #is part of another def

def __loadPickFiles(self):


    fn1Directory = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'dir1',  'dir2', 'dir3', "File Name 1.pickle.dat")
    fn2Directory = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'dir1',  'dir2', 'dir3', "File Name 2.pickle.dat")

    import pickle
    self.fn1p_model = pickle.load(open(fn1Directory, "rb"))
    self.fn2p_model = pickle.load(open(fn2Directory, "rb"))  

预期结果

flaskApp:flaskApp_00             RUNNING   pid 2574, uptime 1:37:48
flaskApp:flaskApp_01             RUNNING   pid 2575, uptime 1:37:48
flaskApp:flaskApp_02             RUNNING   pid 2572, uptime 1:37:48
flaskApp:flaskApp_03             RUNNING   pid 2573, uptime 1:37:48

current result (randomly restarts every 15 secs or less)
flaskApp:flaskApp_00             RUNNING   pid 8983, uptime 0:00:12
flaskApp:flaskApp_01             STARTING  
flaskApp:flaskApp_02             STARTING  
flaskApp:flaskApp_03             RUNNING   pid 8984, uptime 0:00:12
linux python-3.x pickle supervisord
1个回答
0
投票

在试图弄清楚这种困境几周后,答案就在于dat文件中。 dat文件是在xgboost中创建的(写在前几行),我需要'pip install xgboost',这是我的构建指令中缺少的。

© www.soinside.com 2019 - 2024. All rights reserved.