Ao usar o Python paralelo, existe alguma maneira de saber em qual máquina o trabalho foi executado?
-
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?
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