You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
privateasyncinitialize(){if(this.token){return;}letlastError=null;for(leti=0;i<5;i++){try{// eslint-disable-next-line no-await-in-loopthis.token=awaitthis.fetchToken();break;}catch(error){lastError=error;}}if(!this.token){thrownewError(// eslint-disable-next-line @typescript-eslint/restrict-template-expressions`failed to fetch token from metadata service: ${lastError}`,);}setTimeout(async()=>{try{this.token=awaitthis.fetchToken();}catch{// TBD}},30_000);}
Думаю, что предполагалось, что каждые 30 секунд токен будет перезапрашиваться. Но setTimeout вызовет fetchToken только один раз. Тут не должен использоваться setInterval?
The text was updated successfully, but these errors were encountered:
Скорее токен должен перезапрашиваться, когда его срок действия подходит к концу, а не просто так каждые 30 сек.
@nikolaymatrosov, общался с поддержкой yandex cloud. Они сказали, что сейчас новый токен появляется только, когда старый перестанет действовать. В этом случае код в Python SDK тоже не рабочий.
Вот тут есть метод initialize:
Думаю, что предполагалось, что каждые 30 секунд токен будет перезапрашиваться. Но setTimeout вызовет fetchToken только один раз. Тут не должен использоваться setInterval?
The text was updated successfully, but these errors were encountered: