retry with logging and timer