Quando si utilizza Python parallela, c'è un modo per raccontare quale macchina ha svolto il lavoro?

StackOverflow https://stackoverflow.com/questions/2307739

  •  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?

È stato utile?

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
scroll top