IApptaskExecutor.cs 867 B

12345678910111213141516171819202122232425262728293031323334
  1. namespace Hotline.BatchTask;
  2. public interface IApptaskExecutor<TRequest>
  3. {
  4. /// <summary>
  5. /// 执行任务
  6. /// </summary>
  7. /// <param name="request"></param>
  8. /// <param name="cancellation"></param>
  9. /// <returns>是否成功执行</returns>
  10. Task<ApptaskExecuteResult> ExecuteAsync(TRequest? request, CancellationToken cancellation);
  11. }
  12. public class ApptaskExecuteResult
  13. {
  14. public bool IsSuccess { get; set; }
  15. public string? Message { get; set; }
  16. public ApptaskExecuteResult()
  17. {
  18. }
  19. public ApptaskExecuteResult(bool isSuccess, string? message = null)
  20. {
  21. IsSuccess = isSuccess;
  22. Message = message;
  23. }
  24. public static ApptaskExecuteResult Success(string? message = null) => new(true, message ?? "成功");
  25. public static ApptaskExecuteResult Fail(string message) => new(false, message);
  26. }