3
我寫了一個簡單的程序使用並行python,並且都很好。但是,主要是爲了好奇,我想知道每個任務在哪臺機器上運行,需要多長時間。使用並行Python時,有什麼方法可以告訴作業運行在哪臺機器上?
有沒有什麼辦法以編程方式獲取返回的作業的這些信息?
我寫了一個簡單的程序使用並行python,並且都很好。但是,主要是爲了好奇,我想知道每個任務在哪臺機器上運行,需要多長時間。使用並行Python時,有什麼方法可以告訴作業運行在哪臺機器上?
有沒有什麼辦法以編程方式獲取返回的作業的這些信息?
一個UUID1可以幫助:
>>> import uuid
>>> uuid.uuid1()
UUID('b46fa8cf-1fc1-11df-b891-001641ec3fab')
>>>
見是pydoc uuid和更多細節的RFC 4122,我想最後的48位是唯一的主機。不知道你是否在Parallel python中調用/返回。
在pp.py
我發現:
self.__stats[hostid] = _Statistics(ncpus, rworker)
然後你可以使用get_stats()
來獲取該:
get_stats(個體經營) 返回作業執行統計數據字典。
不幸的是,我不確定這有幫助。我想要做的是給出一個給定的工作,找出它的運行地點。我可以通過修改被調用的代碼來實現這一點,這正是我想你所暗示的,但這並不是我想要做的。我希望以某種方式直接從返回的工作中獲得信息。 – 2010-02-22 16:31:45
就像一般性評論一樣,當您進行編輯時,通常「禮貌」表示您已添加更多信息,尤其是在內容不同的情況下,而不僅僅是擴展內容。感謝您的新提示,今晚我會嘗試一下。 – 2010-02-24 15:29:28
對不起,我先添加了它作爲評論,然後想要放入格式化的代碼,所以我編輯了Q並放棄了評論。 – davey 2010-02-25 11:36:07