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 .

Can we use a local variable to avoid calling fstat() twice?