优化 任务处理进度同步速率
This commit is contained in:
parent
489aff9087
commit
a2ef1d5d6d
|
|
@ -64,14 +64,8 @@ namespace Learn.VideoAnalysis.Components.Pages
|
||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
|
|
||||||
}
|
}
|
||||||
/// <summary>
|
private static System.Timers.Timer _timer;
|
||||||
/// 初始化
|
public void StartTimer(Object source, System.Timers.ElapsedEventArgs e)
|
||||||
/// </summary>
|
|
||||||
protected override void OnInitialized()
|
|
||||||
{
|
|
||||||
var timer = new Timer(_ =>
|
|
||||||
{
|
|
||||||
InvokeAsync(() =>
|
|
||||||
{
|
{
|
||||||
foreach (var item in _dataSource)
|
foreach (var item in _dataSource)
|
||||||
{
|
{
|
||||||
|
|
@ -79,9 +73,17 @@ namespace Learn.VideoAnalysis.Components.Pages
|
||||||
continue;
|
continue;
|
||||||
item.Progress = RedisExpand.Redis.HMGet<double>(RedisExpandKey.Task(item.Id), "Progress").FirstOrDefault();
|
item.Progress = RedisExpand.Redis.HMGet<double>(RedisExpandKey.Task(item.Id), "Progress").FirstOrDefault();
|
||||||
}
|
}
|
||||||
} );
|
|
||||||
InvokeAsync(StateHasChanged);
|
StateHasChanged();
|
||||||
}, null, dueTime: 500, period: 3000);
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化
|
||||||
|
/// </summary>
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
_timer = new System.Timers.Timer(2000);
|
||||||
|
_timer.Elapsed += StartTimer;
|
||||||
|
_timer.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<bool> Comfirm(string message)
|
private async Task<bool> Comfirm(string message)
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,11 @@ namespace VideoAnalysisCore.AICore.ChatGPT.Dto
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 结果
|
/// 结果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public object[]? 结果 { get; set; }
|
public object? 结果 { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 问题解释
|
/// 问题解释
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string 问题解释 { get; set; }
|
public string? 问题解释 { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
|
||||||
model = modelId,
|
model = modelId,
|
||||||
messages = new List<MessagesItem>(){
|
messages = new List<MessagesItem>(){
|
||||||
new MessagesItem(postMessages,"system"),
|
new MessagesItem(postMessages,"system"),
|
||||||
new MessagesItem(postMessages,"assistant"),
|
new MessagesItem(resFormat,"assistant"),
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var chatResp = await moonshotClient.Chat(chatRep);
|
var chatResp = await moonshotClient.Chat(chatRep);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Newtonsoft.Json.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
|
using AntDesign;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// https://platform.moonshot.cn/docs/api-reference
|
/// https://platform.moonshot.cn/docs/api-reference
|
||||||
|
|
@ -68,7 +69,15 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
|
||||||
/// <exception cref="Exception"></exception>
|
/// <exception cref="Exception"></exception>
|
||||||
public async Task<int?> GetAsTiMateTokenCount(string chatReqText)
|
public async Task<int?> GetAsTiMateTokenCount(string chatReqText)
|
||||||
{
|
{
|
||||||
var response = await PostJsonAsync("/v1/tokenizers/estimate-token-count", chatReqText);
|
var reqObject = new
|
||||||
|
{
|
||||||
|
model = "moonshot-v1-128k",
|
||||||
|
messages = new List<MessagesItem>()
|
||||||
|
{
|
||||||
|
new MessagesItem(chatReqText,"system"),
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var response = await PostJsonStreamAsync("/v1/tokenizers/estimate-token-count", JsonConvert.SerializeObject(reqObject));
|
||||||
var responseText = await response.Content.ReadAsStringAsync();
|
var responseText = await response.Content.ReadAsStringAsync();
|
||||||
if (response.IsSuccessStatusCode)
|
if (response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ namespace VideoAnalysisCore.AICore.SherpaOnnx
|
||||||
(numProcessedChunks, numTotalChunks, arg) =>
|
(numProcessedChunks, numTotalChunks, arg) =>
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
if(i%50 !=0)
|
if(i%20 !=0)
|
||||||
return 1;
|
return 1;
|
||||||
var progress = (double)numProcessedChunks / numTotalChunks * 100;
|
var progress = (double)numProcessedChunks / numTotalChunks * 100;
|
||||||
RedisExpand.SetTaskProgress(task, progress);
|
RedisExpand.SetTaskProgress(task, progress);
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ namespace VideoAnalysisCore.Common
|
||||||
totalBytesRead += bytesRead;
|
totalBytesRead += bytesRead;
|
||||||
|
|
||||||
// 计算下载进度
|
// 计算下载进度
|
||||||
if (count % 50 == 0)
|
if (count % 30 == 0)
|
||||||
{
|
{
|
||||||
var progress = (double)totalBytesRead / totalBytes.Value * 100;
|
var progress = (double)totalBytesRead / totalBytes.Value * 100;
|
||||||
RedisExpand.SetTaskProgress(task, progress);
|
RedisExpand.SetTaskProgress(task, progress);
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ namespace VideoAnalysisCore.Common
|
||||||
/// <param name="taskId"></param>
|
/// <param name="taskId"></param>
|
||||||
public static void SetTaskProgress(object taskId,double p)
|
public static void SetTaskProgress(object taskId,double p)
|
||||||
{
|
{
|
||||||
Redis.HMSet(RedisExpandKey.Task(taskId), "Progress", p);
|
Redis.HMSet(RedisExpandKey.Task(taskId), "Progress", Math.Round(p,2));
|
||||||
|
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -194,6 +194,7 @@ namespace VideoAnalysisCore.Common
|
||||||
{
|
{
|
||||||
var tID = long.Parse(taskId);
|
var tID = long.Parse(taskId);
|
||||||
Redis.HMSet(RedisExpandKey.Task(taskId), "LastEnum", key);
|
Redis.HMSet(RedisExpandKey.Task(taskId), "LastEnum", key);
|
||||||
|
Redis.HMSet(RedisExpandKey.Task(taskId), "Progress", 0);
|
||||||
await DbScoped.SugarScope.Updateable<VideoTask>()
|
await DbScoped.SugarScope.Updateable<VideoTask>()
|
||||||
.SetColumns(it => it.LastEnum == key)
|
.SetColumns(it => it.LastEnum == key)
|
||||||
.Where(it => it.Id == tID)
|
.Where(it => it.Id == tID)
|
||||||
|
|
|
||||||
|
|
@ -34,16 +34,16 @@ namespace VideoAnalysisCore.Model.Dto
|
||||||
[DisplayName("最后执行")]
|
[DisplayName("最后执行")]
|
||||||
public RedisChannelEnum LastEnum { get; set; }
|
public RedisChannelEnum LastEnum { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 执行进度
|
||||||
|
/// </summary>
|
||||||
|
[DisplayName("进度")]
|
||||||
|
public double Progress { get; set; }
|
||||||
|
/// <summary>
|
||||||
/// 错误信息
|
/// 错误信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DisplayName("错误信息")]
|
[DisplayName("错误信息")]
|
||||||
public string? ErrorMessage { get; set; }
|
public string? ErrorMessage { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 执行进度
|
|
||||||
/// </summary>
|
|
||||||
[DisplayName("进度")]
|
|
||||||
public double Progress { get; set; }
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 媒体路径
|
/// 媒体路径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue