fix savepath bug
add goroutine worker & retry mechanism