Инициализировать репозиторий «Дейл»
Первый коммит: модульный монолит ядра (.NET 10) и gRPC-сервисы ai/ml/telegram, фронтенд Vue 3/Vite/Tailwind, документация (ТЗ, инструкция пользователя, техдокументация, код-стайл), бэклог, скрипты развёртывания и архив прототипа LeadRadar.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
namespace Deal.Telegram.Dialogs;
|
||||
|
||||
/// <summary>
|
||||
/// Seam анти-бан-пауз между сетевыми операциями каталога (Ruling 3: «Внутренний анти-бан сервиса
|
||||
/// (паузы между сетевыми операциями одной сессии): backfill 1.5–3 с/сообщение и 3–6 с/диалог»).
|
||||
///
|
||||
/// Реальная реализация (<see cref="RandomBackfillPacer"/>) спит случайное время в диапазоне как
|
||||
/// `random.uniform` прототипа (BACKFILL_PER_MESSAGE/BACKFILL_PER_DIALOG, telegram.py L35–36);
|
||||
/// тесты подставляют фейк-пейсер, записывающий запрошенные диапазоны (fake clock, план Task 10).
|
||||
/// </summary>
|
||||
public interface IBackfillPacer
|
||||
{
|
||||
/// <summary>
|
||||
/// Ждёт случайное время в диапазоне [minSeconds, maxSeconds] (анти-бан).
|
||||
/// </summary>
|
||||
/// <param name="minSeconds">Нижняя граница паузы, секунды (≥ 0).</param>
|
||||
/// <param name="maxSeconds">Верхняя граница паузы, секунды (≥ minSeconds).</param>
|
||||
/// <param name="cancellationToken">Отмена ожидания.</param>
|
||||
/// <returns>Задача ожидания.</returns>
|
||||
public Task WaitAsync(double minSeconds, double maxSeconds, CancellationToken cancellationToken);
|
||||
}
|
||||
Reference in New Issue
Block a user