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 is already one pass, just in this commit you are calling `w.tmp.last_update()` twice. Use a local variable is all.