fix race condition error

When the worker exited the tempfile is not available anymore so we can't get the last update and calculate the dynamic timeout introduced in d76bab4d716fed3f965fbde4ba1a1bba975f03d1 .

This changes fix it by catching the IO error. fix #863 .

... *it's possible (but unlikely) that the worker could update the file in between the calls, and then "oldest" is wrong. Maybe. In any case, not calling it twice is probably better.