only get last update of the worker once when checking oldest

spotted by @tilgovi, a race condition is possible when making 2
consecutive calls to the last_update function, so only get it once.