DeleteDBRecordThread.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using EInk.Dtos;
  2. using EInk.Models;
  3. using EInk.Tools;
  4. using Newtonsoft.Json;
  5. using SqlSugar;
  6. namespace EInk.TaskThread
  7. {
  8. public class DeleteDBRecordThread
  9. {
  10. private readonly ISqlSugarClient _db;
  11. public DeleteDBRecordThread(ISqlSugarClient db)
  12. {
  13. _db = db;
  14. }
  15. public void DeleteThreadStart()
  16. {
  17. Thread t = new Thread(DeleteTask);
  18. t.Start(_db);
  19. }
  20. static void DeleteTask(Object db)
  21. {
  22. ISqlSugarClient _db = (ISqlSugarClient)db;
  23. while (true)
  24. {
  25. try
  26. {
  27. DateTime now = DateTime.Now;
  28. if (now.Hour==8)
  29. {
  30. _db.Deleteable<Lot2Lot3Model>().Where(x => x.create_time < now.AddMonths(-2)).ExecuteCommand();
  31. LogerHelper.RecordLogTxt("DeleteTask");
  32. }
  33. }
  34. catch (Exception ex)
  35. {
  36. LogerHelper.RecordLogTxt("DeleteTask," + ex.Message);
  37. }
  38. finally
  39. {
  40. Thread.Sleep(1000 * 60 * 60);
  41. }
  42. }
  43. }
  44. }
  45. }