diff --git a/VideoAnalysisCore/Common/RedisExpand.cs b/VideoAnalysisCore/Common/RedisExpand.cs index 11fa01d..7cf7572 100644 --- a/VideoAnalysisCore/Common/RedisExpand.cs +++ b/VideoAnalysisCore/Common/RedisExpand.cs @@ -70,7 +70,7 @@ namespace VideoAnalysisCore.Common /// /// 任务对象地址 /// - public static string Task(object taskId) => BaseKey + "Task:" + taskId; + public static string Task(object taskId) => BaseKey + "TaskInfo:" + taskId; public static string IDTask => BaseKey + "Services:" + AppCommon.Config.ID; public static string TaskGPT(object taskId) => Task(taskId) + ":GPTCached"; /// @@ -179,7 +179,7 @@ namespace VideoAnalysisCore.Common /// public void SetTaskGPTCached(object taskId, string time, object? data) { - Redis.Set(RedisExpandKey.TaskGPT(taskId) + ":" + time, data, 3600 * 24); + Redis.Set(RedisExpandKey.TaskGPT(taskId) + ":" + time, data, timeoutSeconds: 3600 * 24); } /// /// 加入到消费队列 @@ -224,6 +224,9 @@ namespace VideoAnalysisCore.Common if (taskId is null) throw new Exception("taskId为空"); if (Redis is null) throw new Exception("redis未初始化"); + //设置任务Redis缓存过期时间 + Redis.Expire(RedisExpandKey.Task(taskId), 60 * 60 * 24 * 14); + var startTime = Redis.HMGet>(RedisExpandKey.Task(taskId), "StartTime").FirstOrDefault(); if (startTime is null) startTime = new Dictionary(); diff --git a/VideoAnalysisCore/Controllers/ApiController.cs b/VideoAnalysisCore/Controllers/ApiController.cs index 8dbba4e..a8d2c39 100644 --- a/VideoAnalysisCore/Controllers/ApiController.cs +++ b/VideoAnalysisCore/Controllers/ApiController.cs @@ -19,6 +19,7 @@ using VideoAnalysisCore.Common.Expand; using Microsoft.Extensions.DependencyInjection; using System.Threading.Tasks; using VideoAnalysisCore.Model.ǿ; +using VideoAnalysisCore.Model.Interface; namespace VideoAnalysisCore.Controllers { @@ -76,9 +77,22 @@ namespace VideoAnalysisCore.Controllers #endif + /// + /// id + /// + /// Ƿִ + /// + [HttpPost(Name = "JoinQueue")] + public IActionResult JoinQueue(long[] ids) + { + if ( ids == null || ids.Count()==0) + return BadRequest("¼Ч"); + redisManager.JoinQueue(ids); + return Ok(); + } /// - /// ʼ + /// ǰ ִ /// /// Ƿִ /// @@ -204,11 +218,7 @@ namespace VideoAnalysisCore.Controllers VideoType=req.VideoType }; // - var hashEntries = task.GetType() - .GetProperties(BindingFlags.Public | BindingFlags.Instance) - .ToDictionary(s => s.Name, s => s.GetValue(task)); await videoTaskDB.InsertAsync(task); - redisManager.Redis.HMSet(RedisExpandKey.Task(task.Id), hashEntries); redisManager.Redis.LPush(RedisExpandKey.ChannelKey, task.Id); return Ok(task.Id); }