Преглед изворни кода

服务启动时 自动清空在线用户,防止存在僵尸用户,掉线用户会自动重连

Signed-off-by: skywolf627 <skywolf627@qq.com>
skywolf627 пре 3 година
родитељ
комит
b922c4c215
1 измењених фајлова са 25 додато и 0 уклоњено
  1. 25 0
      Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs

+ 25 - 0
Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs

@@ -0,0 +1,25 @@
+namespace Admin.NET.Core.Job;
+/// <summary>
+/// 任务调度
+/// </summary>
+public class OnlineUserJob : ISpareTimeWorker
+{
+    /// <summary>
+    /// 在线用户清理   服务启动时 自动清空在线用户,防止存在僵尸用户,掉线用户会自动重连
+    /// </summary>
+    [SpareTime(1000, "在线用户清理", Description = "服务启动时运行", DoOnce = true, StartNow = true, ExecuteType = SpareTimeExecuteTypes.Serial)]
+    public void ClearOnlineUser(SpareTimer timer, long count)
+    {
+        Scoped.Create(async (_, scope) =>
+       {
+
+           var services = scope.ServiceProvider;
+           var rep = services.GetService<SqlSugarRepository<SysOnlineUser>>();
+           await rep.AsDeleteable().ExecuteCommandAsync();
+
+           Console.ForegroundColor = ConsoleColor.Blue;
+           Console.WriteLine("【" + DateTime.Now + "——清空在线人员】\r\n服务重启触发清空在线人员");
+
+       });
+    }
+}