WCS_TaskExtensions.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using WCS.Entity;
  3. using WCS.Entity.Protocol;
  4. namespace WCS.Service.Extensions
  5. {
  6. public static class WCS_TaskExtensions
  7. {
  8. /// <summary>
  9. /// 任务发生状态变更时,为任务新增状态变更记录
  10. /// 异步任务
  11. /// </summary>
  12. /// <param name="task">对应任务</param>
  13. /// <param name="db">db链接, 没有从新构造一个db的原因是为了保证状态记录的增加与任务状态的变更是同步的</param>
  14. /// <param name="msg">需要记录的消息</param>
  15. public static void CreateStatusLogAsync(this WCS_TASK task, string msg, Type cl)
  16. {
  17. System.Threading.Tasks.Task.Run(() =>
  18. {
  19. try
  20. {
  21. DBHelper.DB.Do(db =>
  22. {
  23. WCS_StatusLog statusLog = new WCS_StatusLog()
  24. {
  25. WCS_TASKID = task.ID,
  26. NewStatus = task.STATUS,
  27. UPDATETIME = DateTime.Now,
  28. upStatus = task.UPLOADED,
  29. Node = cl.FullName,
  30. UPDATEUSER = "WCS",
  31. msg = msg,
  32. };
  33. db.Default.Add(statusLog);
  34. });
  35. }
  36. catch
  37. {
  38. //TODO:记日志
  39. }
  40. });
  41. }
  42. }
  43. }