in src/resources/sql.ts [90:113]
export async function createPoolConnnection(connectionString: string): Promise<sql.ConnectionPool> {
const retries = 5;
return retry(
async (currentAttempt: number) => {
if (currentAttempt > 1) {
console.log(
`${new Date().toISOString()}: Retrying sql connect. Attempt ${currentAttempt}/${retries + 1}`
);
}
return sql.connect(connectionString);
},
{
retries: retries,
minTimeout: 5 * 1000,
onFailedAttempt: (error) => {
if (!/ip address/i.test(error?.message || '')) {
throw error; // abort for an unrecognized error
} else if (error.retriesLeft > 0) {
console.log(`Warning: Failed to sql connect with error "${error.message}"`);
}
},
}
);
}