IS8AuthorityHealthResolver.cs 1.1 KB

12345678910111213141516171819202122
  1. namespace Admin.NET.Plugin.AiDOP.Service.S8.Rules.Health;
  2. /// <summary>
  3. /// Authority 健康判定端口。
  4. ///
  5. /// <para><b>为什么是独立端口而不是塞进 Provider</b>:
  6. /// <c>IS8MonitoringDataProvider</c> 的接口注释已明确写明新鲜度「属数据平台侧,
  7. /// 待其提供 freshness 接口后由本层消费,不在 S8 内造替代实现」。
  8. /// 做成端口 + 临时的 MDP 适配实现,等中台真正提供数据集级 freshness 时只换实现类,
  9. /// 调度器、取数网关与三个 Provider 一行都不用动。</para>
  10. ///
  11. /// <para><b>为什么不放在调度器里内联</b>:内联会让调度器重新知道物理表名与作业编码 ——
  12. /// 那正是取数网关硬切换时刚清理掉的耦合,且必然长成 per-rule 的分支。</para>
  13. /// </summary>
  14. public interface IS8AuthorityHealthResolver
  15. {
  16. /// <summary>
  17. /// 判定某租户下某数据集的 Authority 当前是否可信。
  18. /// <para>实现必须 fail-safe:自身异常一律返回 UNKNOWN(拦截恢复),绝不返回 HEALTHY。</para>
  19. /// </summary>
  20. Task<S8AuthorityHealthResult> ResolveAsync(long tenantId, string datasetCode);
  21. }