Files
Deal/src/core/Deal.Modules.Discovery/Application/DiscoveryTaskStatuses.cs
T
Rustam Khalimov 9e07568ddd Инициализировать репозиторий «Дейл»
Первый коммит: модульный монолит ядра (.NET 10) и gRPC-сервисы
ai/ml/telegram, фронтенд Vue 3/Vite/Tailwind, документация (ТЗ,
инструкция пользователя, техдокументация, код-стайл), бэклог,
скрипты развёртывания и архив прототипа LeadRadar.
2026-09-11 02:50:17 +03:00

49 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace Deal.Modules.Discovery.Application;
/// <summary>
/// Статусы задачи поиска Discovery (колонка DiscTasks.Status; discovery.py L147, api-map §4.8).
/// </summary>
/// <remarks>
/// draft — создана, поиск не запускался; running — поиск/оценка/вступления идут; paused — поставлена на паузу
/// вручную; done — план авто-вступлений выполнен (воркер, discovery_worker _finish_done); failed — упала/остановлена
/// (зарезервировано прототипом). done/failed — терминальные: не занимают бюджет plan_joins (python _DONE_TASK L37)
/// и при повторном start сбрасывают прогресс поиска (start_task L332339).
/// </remarks>
public static class DiscoveryTaskStatuses
{
/// <summary>
/// Создана, поиск ещё не запускался (значение по умолчанию при INSERT).
/// </summary>
public const string Draft = "draft";
/// <summary>
/// Поиск запущен (обрабатывается воркером).
/// </summary>
public const string Running = "running";
/// <summary>
/// Поставлена на паузу вручную (POST …/pause); прогресс поиска сохраняется.
/// </summary>
public const string Paused = "paused";
/// <summary>
/// План авто-вступлений выполнен (терминальный; повторный start сбрасывает прогресс).
/// </summary>
public const string Done = "done";
/// <summary>
/// Упала/остановлена (терминальный статус прототипа; повторный start сбрасывает прогресс).
/// </summary>
public const string Failed = "failed";
/// <summary>
/// Проверка терминального статуса: задача не занимает бюджет plan_joins (python _DONE_TASK L37).
/// </summary>
/// <param name="status">Статус задачи.</param>
/// <returns>True — done/failed (повторный start сбрасывает прогресс поиска, L332339).</returns>
public static bool IsFinished(string status)
{
return status is Done or Failed;
}
}