> В сентябре женщину вызвали в полицию и рассказали, что против нее завели дело о "дискредитации" армии. По словам Лисициной, полицейские говорили, что хотели завести уголовное дело о "фейках", но не смогли найти для этого достаточных оснований.
Даже если и так, ты не можешь доверять внешнему провайдеру на 100%. Всегда рассчитывай, что токен может заэкспайриться раньше времени.
Т.е. логика воркеров должна быть такая:
1. Получить у токен-сервиса токен.
2. Послать запрос с токеном.
3. Если в ответе "токен невалидный" — запросить у токен-сервиса новый токен с параметрами old_token=..., force_new_token=true
4. Повторить запрос с новым токеном
Логика токен-сервиса:
1. Запрос на токен: берем текущий токен из хранилища, отдаем. Если в хранилище нет токена — запрашиваем новый, ложим в хранилище, отдаем.
2. Запрос на обновление токена: ложим старый токен в хранилище, запрашиваем новый, отдаем. Если воркер прислал старый токен, который уже сохранен в хранилище — не запрашиваем новый, а отдаем новый из хранилища.
Только хочу предостеречь от хранения времени жизни токена, вернее, рассчитывать, что токен обязательно будет жить до указанного времени. Если твои потоки при запросе получают отлуп "невалидный токен", то они должны запрашивать токен-сервис с параметром "force_token_renew" или что-то такое, и потом повторять запрос с новым токеном.
Чтобы такого не происходило оба потока должны запрашивать токен у постороннего однопоточного сервиса, который или выдаст существующий валидный токен, или заблокирует ответ до получения им нового токена, который потом и отдаст.
А для "дискредитации", значит, нашли? Клоуньі.
Т.е. логика воркеров должна быть такая:
1. Получить у токен-сервиса токен.
2. Послать запрос с токеном.
3. Если в ответе "токен невалидный" — запросить у токен-сервиса новый токен с параметрами old_token=..., force_new_token=true
4. Повторить запрос с новым токеном
Логика токен-сервиса:
1. Запрос на токен: берем текущий токен из хранилища, отдаем. Если в хранилище нет токена — запрашиваем новый, ложим в хранилище, отдаем.
2. Запрос на обновление токена: ложим старый токен в хранилище, запрашиваем новый, отдаем. Если воркер прислал старый токен, который уже сохранен в хранилище — не запрашиваем новый, а отдаем новый из хранилища.
Надеюсь, пункт 2 понятно почему так сделан?