Ao usar o Python paralelo, existe alguma maneira de saber em qual máquina o trabalho foi executado?

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

  •  22-09-2019
  •  | 
  •  

Pergunta

Escrevi um programa simples usando Python paralelo e tudo funciona bem. No entanto, principalmente pelo amor de curiosidades, gostaria de saber em qual máquina cada tarefa era executada e quanto tempo demorou.

Existe alguma maneira de obter programaticamente essas informações para o trabalho que é devolvido?

Foi útil?

Solução

Um UUID1 pode ajudar:

>>> import uuid
>>> uuid.uuid1()
UUID('b46fa8cf-1fc1-11df-b891-001641ec3fab')
>>>

Veja Pydoc Uuid e o RFC 4122 para obter mais detalhes, acho que os últimos 48 bits são exclusivos do host. Não tenho certeza se você liga/devolve isso em python paralelo.

No pp.py Eu encontrei:

self.__stats[hostid] = _Statistics(ncpus, rworker)

Você pode então usar get_stats() para chegar assim:

get_stats (self) retorna estatísticas de execução do trabalho como um dicionário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top