优化 重试流程

This commit is contained in:
小肥羊 2024-11-26 15:57:12 +08:00
parent 90cf56efec
commit a2c9831a0a
4 changed files with 79 additions and 34 deletions

View File

@ -5,7 +5,7 @@
@using SqlSugar
@using VideoAnalysisCore.Model
<Table @ref="_table" Loading="tableLoading" TItem="CourseGradingCriteria" PageSize="15" Total="_total" DataSource="_dataSource" @bind-SelectedRows="_selectedRows" OnChange="OnChange">
<Table @ref="_table" Loading="tableLoading" TItem="CourseGradingCriteria" ScrollY="600px" PageSize="15" Total="_total" DataSource="_dataSource" @bind-SelectedRows="_selectedRows" OnChange="OnChange">
<TitleTemplate>
<Flex Justify="end" Gap="10">
<Button Type="primary" @onclick="()=> StartEdit(default)">新增</Button>

View File

@ -2,12 +2,13 @@
@using AntDesign
@using AntDesign.TableModels
@using System.ComponentModel.DataAnnotations
@using Learn.VideoAnalysis.Controllers.Dto
@using SqlSugar
@using VideoAnalysisCore.Model
@using VideoAnalysisCore.Model.Dto
@using VideoAnalysisCore.Enum
<Table @ref="_table" Loading="tableLoading" TItem="VideoTaskDto" PageSize="15" Total="_total" DataSource="_dataSource" @bind-SelectedRows="_selectedRows" OnChange="OnChange"
<Table @ref="_table" Loading="tableLoading" TItem="VideoTaskDto" ScrollY="600px" PageSize="10" Total="_total" DataSource="_dataSource" @bind-SelectedRows="_selectedRows" OnChange="OnChange"
OnExpand="OnExpand">
<TitleTemplate>
<Flex Justify="end" Gap="10">
@ -16,13 +17,13 @@
</TitleTemplate>
<ColumnDefinitions Context="row">
<Selection />
<PropertyColumn Property="c=>c.Id" Width="100" Filterable="true" Sortable="true"/>
<PropertyColumn Property="c=>c.TagId" Width="100" />
<PropertyColumn Property="c=>c.LastEnum" Width="120" />
<PropertyColumn Property="c=>c.ApiToken" Width="120" />
<PropertyColumn Property="c=>c.ComeFrom" Width="120" />
<PropertyColumn Property="c=>c.MediaUrl" Width="300" />
<PropertyColumn Property="c=>c.TotalTokens" Width="100" />
<PropertyColumn Property="c=>c.Id" Width="130px" Filterable="true" Sortable="true" />
<PropertyColumn Property="c=>c.TagId" Width="160px" />
<PropertyColumn Property="c=>c.LastEnum" Width="150px" />
<PropertyColumn Property="c=>c.ApiToken" Width="150px" />
<PropertyColumn Property="c=>c.ComeFrom" Width="100px" />
<PropertyColumn Property="c=>c.MediaUrl" Width="320px" />
<PropertyColumn Property="c=>c.TotalTokens" Width="100px" />
<PropertyColumn Property="c=>c.CreateTime" />
</ColumnDefinitions>
<ExpandTemplate Context="rowData">
@ -38,7 +39,7 @@
OnClick="()=>RowRestart(rowData)">
刷新数据
</Button>
<Button Type="@ButtonType.Primary" Danger @onclick="() => ReStart(rowData.Data)">
<Button Type="@ButtonType.Primary" Danger @onclick="() => ReStartClick(rowData.Data)">
重试
</Button>
</DescriptionsItem>
@ -76,3 +77,22 @@
</ExpandTemplate>
</Table>
<Modal Title="重试任务"
Width="400"
OnOk="ReStart"
@bind-Visible="@modalShow">
<Title Level="3">ID : @reStartTask.Id</Title>
<p></p>
<p>将从哪个步骤重试?</p>
<Select Style="width:220px;"
DataSource="SelectDataSource"
LabelName="@nameof(TextValue.Text)"
ValueName="@nameof(TextValue.Value)"
@bind-Value="@selectEnum">
</Select>
<br />
<br />
</Modal>

View File

@ -1,6 +1,7 @@
using AntDesign;
using AntDesign.TableModels;
using FFmpeg.NET.Services;
using Learn.VideoAnalysis.Controllers.Dto;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.DataProtection.KeyManagement;
@ -28,19 +29,41 @@ namespace Learn.VideoAnalysis.Components.Pages
List<VideoTaskDto> _dataSource = null;
RefAsync<int> _total = 0;
bool modalShow = false;
bool tableLoading = false;
private VideoTaskDto selectData;
private bool rowRestartLoading = false;
private VideoTaskDto reStartTask ;
TextValue[] SelectDataSource = Enum.GetValues(typeof(RedisChannelEnum))
.Cast<RedisChannelEnum>()
.Select(s => new TextValue(s.ToString(), (int)s))
.ToArray();
int selectEnum = 1;
int selectDefaultValue =1;
/// <summary>
/// 点击重试
/// </summary>
/// <param name="query"></param>
async void ReStartClick(VideoTaskDto query)
{
selectDefaultValue =
(await RedisExpand.Redis.HMGetAsync<int>(RedisExpandKey.Task(query.Id), "LastEnum")).FirstOrDefault();
selectEnum = selectDefaultValue;
reStartTask = query;
modalShow = true;
}
/// <summary>
/// 重试
/// </summary>
/// <param name="query"></param>
async void ReStart(VideoTaskDto query)
async void ReStart()
{
var lastEnum = (await RedisExpand.Redis.HMGetAsync<RedisChannelEnum>(RedisExpandKey.Task(query.Id), "LastEnum")).FirstOrDefault() ;
await RedisExpand.SetTaskErrorMessage(query.Id, null);
RedisExpand.InsertChannel(lastEnum, query.Id);
await RedisExpand.SetTaskErrorMessage(reStartTask.Id, null);
RedisExpand.InsertChannel((RedisChannelEnum)selectEnum, reStartTask.Id);
modalShow = false;
}
private QueryModel<VideoTaskDto> lastQuery = null;
/// <summary>
@ -76,6 +99,7 @@ namespace Learn.VideoAnalysis.Components.Pages
_dataSource = await taskDB.AsQueryable()
.Where(where)
.Select<VideoTaskDto>()
.OrderByDescending(s => s.Id)
.ToPageListAsync(query.PageIndex - 1, query.PageSize, _total);
tableLoading = false;

View File

@ -49,7 +49,8 @@ namespace Learn.VideoAnalysis.Controllers.Dto
}
public TextValue(string t,object v)
{
Text = t;
Value = v;
}
public TextValue()
{