Quando si utilizza Python parallela, c'è un modo per raccontare quale macchina ha svolto il lavoro?
-
22-09-2019 - |
Domanda
Ho scritto un semplice programma usando Python parallelo e tutto funziona bene. Tuttavia, principalmente per il bene delle curiosità, vorrei sapere su quale macchina ha eseguito ogni attività e quanto tempo ci è voluto.
Esiste un modo per ottenere a livello di programmazione queste informazioni per il lavoro che viene restituito?
Soluzione
Un UUID1 potrebbe aiutare:
>>> import uuid
>>> uuid.uuid1()
UUID('b46fa8cf-1fc1-11df-b891-001641ec3fab')
>>>
Vedi Pydoc Uuid e RFC 4122 Per maggiori dettagli, penso che gli ultimi 48 bit siano unici per l'host. Non sono sicuro di chiamarlo/restituirlo in Python parallelo però.
Nel pp.py
Ho trovato:
self.__stats[hostid] = _Statistics(ncpus, rworker)
Puoi quindi usare get_stats()
per arrivare a questo:
get_stats (self) restituisce le statistiche di esecuzione del lavoro come dizionario.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow