diff --git a/core/src/main/cfml/context/admin/ext.functions.cfm b/core/src/main/cfml/context/admin/ext.functions.cfm index b3467f8e32..9e976c1b22 100644 --- a/core/src/main/cfml/context/admin/ext.functions.cfm +++ b/core/src/main/cfml/context/admin/ext.functions.cfm @@ -526,8 +526,13 @@ } } catch(e) { - // call it in background - getProviderInfoAsync(arguments.provider); + writeLog("Provider calls to #arguments.provider# failed with #e.message# #e.stacktrace#" , "error"); + if(!structKeyExists(request, "providerRetryCount") || !structKeyExists(request.providerRetryCount, arguments.provider)) request.providerRetryCount[arguments.provider] = 0; + + request.providerRetryCount[arguments.provider]++; + + // call it in the background once per the provider + if(request.providerRetryCount[arguments.provider] <= 1) getProviderInfoAsync(arguments.provider); } if(isNull(http.status_code)){