Jak przeprowadzić synchronizację pętli z zegarem UTC i wykonać w każdej nowej minucie?

Chcę, aby pętla była wykonywana raz na minutę, kiedydatetime.utcnow().second jest zero. Do tej pory mam to

while True:
    while datetime.utcnow().second != 0: pass
    do_something()

Ale problem z tym polega na tym, że marnuję procesy procesora. użyłbymtime.sleep(60), ale nie wiem, jak to się synchronizuje z zegarem UTC, ponieważtime.sleep(60) może odejść od oficjalnego czasu UTC w miarę upływu czasu.