Promise retry system for Q