This commit is contained in:
nsnail 2022-12-08 16:52:48 +08:00
parent 0b4e582bbd
commit 254e6f2a45
4 changed files with 10 additions and 15 deletions

View File

@ -61,8 +61,7 @@ public abstract class FilesTool<TOption> : ToolBase<TOption> where TOption : Dir
_childTask = ctx.AddTask("-/-", false); _childTask = ctx.AddTask("-/-", false);
fileList = EnumerateFiles(Opt.Path, Opt.Filter, out _excludeCnt); fileList = EnumerateFiles(Opt.Path, Opt.Filter, out _excludeCnt);
_totalCnt = fileList.Count(); _totalCnt = fileList.Count();
taskSearchfile.IsIndeterminate(false); taskSearchfile.StopTask();
taskSearchfile.Increment(100);
_childTask.MaxValue = _totalCnt; _childTask.MaxValue = _totalCnt;
_childTask.StartTask(); _childTask.StartTask();

View File

@ -51,19 +51,19 @@ public class Main : ToolBase<Option>
p.BeginErrorReadLine(); p.BeginErrorReadLine();
await p.WaitForExitAsync(); await p.WaitForExitAsync();
payload.Value.IsIndeterminate(false);
if (p.ExitCode == 0) { if (p.ExitCode == 0) {
payload.Value.State.Status(TaskStatusColumn.Statues.Succeed); payload.Value.State.Status(TaskStatusColumn.Statues.Succeed);
_repoStatus.AddOrUpdate(payload.Key, _ => TaskStatusColumn.Statues.Succeed _repoStatus.AddOrUpdate(payload.Key, _ => TaskStatusColumn.Statues.Succeed
, (_, _) => TaskStatusColumn.Statues.Succeed); , (_, _) => TaskStatusColumn.Statues.Succeed);
payload.Value.Increment(100); payload.Value.StopTask();
} }
else { else {
payload.Value.State.Status(TaskStatusColumn.Statues.Failed); payload.Value.State.Status(TaskStatusColumn.Statues.Failed);
_repoStatus.AddOrUpdate(payload.Key, _ => TaskStatusColumn.Statues.Failed _repoStatus.AddOrUpdate(payload.Key, _ => TaskStatusColumn.Statues.Failed
, (_, _) => TaskStatusColumn.Statues.Failed); , (_, _) => TaskStatusColumn.Statues.Failed);
payload.Value.Increment(0);
} }
payload.Value.StopTask();
} }
} }
@ -101,8 +101,7 @@ public class Main : ToolBase<Option>
tasks.Add(path, task); tasks.Add(path, task);
} }
taskFinder.IsIndeterminate(false); taskFinder.StopTask();
taskFinder.Increment(100);
taskFinder.State.Status(TaskStatusColumn.Statues.Succeed); taskFinder.State.Status(TaskStatusColumn.Statues.Succeed);
await Parallel.ForEachAsync(tasks, DirHandle); await Parallel.ForEachAsync(tasks, DirHandle);

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
id="root" xmlns=""> id="root" xmlns="">

View File

@ -78,15 +78,14 @@ public sealed class Main : ToolBase<Option>
var offset = GetNtpOffset(payload.Key); var offset = GetNtpOffset(payload.Key);
if (offset == TimeSpan.Zero) { if (offset == TimeSpan.Zero) {
payload.Value.State.Status(TaskStatusColumn.Statues.Failed); payload.Value.State.Status(TaskStatusColumn.Statues.Failed);
payload.Value.IsIndeterminate(false).Increment(0);
} }
else { else {
payload.Value.State.Status(TaskStatusColumn.Statues.Succeed); payload.Value.State.Status(TaskStatusColumn.Statues.Succeed);
payload.Value.State.Result(offset); payload.Value.State.Result(offset);
Interlocked.Increment(ref _successCnt); Interlocked.Increment(ref _successCnt);
payload.Value.IsIndeterminate(false).Increment(100);
} }
payload.Value.StopTask();
return ValueTask.CompletedTask; return ValueTask.CompletedTask;
} }
@ -117,11 +116,9 @@ public sealed class Main : ToolBase<Option>
, new TaskStatusColumn() // , new TaskStatusColumn() //
, new TaskResultColumn()) , new TaskResultColumn())
.StartAsync(async ctx => { .StartAsync(async ctx => {
var tasks = new Dictionary<string, ProgressTask>(); var tasks = _ntpServers.ToDictionary(server => server
foreach (var server in _ntpServers) { , server => ctx.AddTask(server, false)
var t = ctx.AddTask(server, false).IsIndeterminate(); .IsIndeterminate());
tasks.Add(server, t);
}
await Parallel.ForEachAsync( await Parallel.ForEachAsync(
tasks, new ParallelOptions { MaxDegreeOfParallelism = _MAX_DEGREE_OF_PARALLELISM } tasks, new ParallelOptions { MaxDegreeOfParallelism = _MAX_DEGREE_OF_PARALLELISM }