@@ -14,7 +14,7 @@ const Config = require('@adobe/aio-lib-core-config')
1414const { init } = require ( '@adobe/aio-lib-cloudmanager' )
1515const { cli } = require ( 'cli-ux' )
1616const { context, getToken, Ims } = require ( '@adobe/aio-lib-ims' )
17- const logger = require ( '@adobe/aio-lib-core-logging' ) ( '@adobe/aio-lib-cloudmanager' , { provider : 'debug' } )
17+ const logger = require ( '@adobe/aio-lib-core-logging' ) ( '@adobe/aio-lib-cloudmanager' , { level : process . env . LOG_LEVEL } )
1818const moment = require ( 'moment' )
1919const _ = require ( 'lodash' )
2020const { CLI } = require ( '@adobe/aio-lib-ims/src/context' )
@@ -307,35 +307,16 @@ function handleError (_error, errorFn) {
307307 } )
308308}
309309
310- async function executeWithRetries ( fn , maxRetries = 5 ) {
311- let retries = 0
312- let startTime = Date . now ( )
313- while ( retries < maxRetries ) {
310+ async function executeWithRetry ( fn , retries = 3 , delay = 1000 ) {
311+ for ( let i = 0 ; i < retries ; i ++ ) {
314312 try {
315313 return await fn ( )
316314 } catch ( error ) {
317- if ( error . sdkDetails && error . sdkDetails . response && ( error . sdkDetails . response . status === 401 || error . sdkDetails . response . status === 403 ) ) {
318- logger . debug ( 'Received 401, 403 error, retrying.' )
319- } else {
320- throw error
321- }
322- if ( shouldResetRetires ( startTime ) ) {
323- retries = 0
324- startTime = Date . now ( )
325- }
326- retries ++
315+ logger . debug ( `Retrying due to error: ${ error . message || 'Unknown error' } (attempt ${ i + 1 } /${ retries } )` )
316+ if ( i === retries - 1 ) throw error
317+ await new Promise ( resolve => setTimeout ( resolve , delay ) )
327318 }
328319 }
329- throw new validationCodes . MAX_RETRY_REACHED ( )
330- }
331-
332- function shouldResetRetires ( startTime , resetInterval = 3600000 ) {
333- const elapsedTime = Date . now ( ) - startTime
334- if ( elapsedTime >= resetInterval ) {
335- logger . debug ( `Resetting retries after ${ resetInterval / 1000 } seconds.` )
336- return true
337- }
338- return false
339320}
340321
341322module . exports = {
@@ -360,5 +341,5 @@ module.exports = {
360341 getActiveOrganizationId,
361342 getFullOrgIdentity,
362343 handleError,
363- executeWithRetries ,
344+ executeWithRetry ,
364345}
0 commit comments