32 lines
773 B
C#
32 lines
773 B
C#
using NLog;
|
|
using Server.System;
|
|
|
|
namespace Server.Scheduler
|
|
{
|
|
public class SessionScheduler : System.Scheduler
|
|
{
|
|
public override void Process()
|
|
{
|
|
List<LoginUser> users = Statics.redis.GetList<LoginUser>("LoginUser");
|
|
|
|
DateTime now = DateTime.Now;
|
|
|
|
for (int n = users.Count - 1; n >= 0; n--)
|
|
{
|
|
if ((now - users[n].moveTime).TotalMinutes >= 10)
|
|
{
|
|
Statics.redis.RemoveList(n, users[n], "LoginUser");
|
|
Statics.redis.RemoveKey("UserSession", users[n].UUID);
|
|
}
|
|
}
|
|
}
|
|
|
|
public class LoginUser
|
|
{
|
|
public string UUID;
|
|
public DateTime moveTime;
|
|
}
|
|
|
|
}
|
|
}
|