Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Перезапрос токена не работает #89

Open
vladkolotvin opened this issue Sep 2, 2022 · 2 comments
Open

Перезапрос токена не работает #89

vladkolotvin opened this issue Sep 2, 2022 · 2 comments

Comments

@vladkolotvin
Copy link

vladkolotvin commented Sep 2, 2022

Вот тут есть метод initialize:

    private async initialize() {
        if (this.token) {
            return;
        }

        let lastError = null;

        for (let i = 0; i < 5; i++) {
            try {
                // eslint-disable-next-line no-await-in-loop
                this.token = await this.fetchToken();
                break;
            } catch (error) {
                lastError = error;
            }
        }
        if (!this.token) {
            throw new Error(
                // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
                `failed to fetch token from metadata service: ${lastError}`,
            );
        }
        setTimeout(async () => {
            try {
                this.token = await this.fetchToken();
            } catch {
                // TBD
            }
        }, 30_000);
    }

Думаю, что предполагалось, что каждые 30 секунд токен будет перезапрашиваться. Но setTimeout вызовет fetchToken только один раз. Тут не должен использоваться setInterval?

@nikolaymatrosov
Copy link
Contributor

Скорее токен должен перезапрашиваться, когда его срок действия подходит к концу, а не просто так каждые 30 сек.
Как например в Python SDK

@vladkolotvin
Copy link
Author

vladkolotvin commented Sep 2, 2022

Скорее токен должен перезапрашиваться, когда его срок действия подходит к концу, а не просто так каждые 30 сек.

@nikolaymatrosov, общался с поддержкой yandex cloud. Они сказали, что сейчас новый токен появляется только, когда старый перестанет действовать. В этом случае код в Python SDK тоже не рабочий.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants