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);
fileList = EnumerateFiles(Opt.Path, Opt.Filter, out _excludeCnt);
_totalCnt = fileList.Count();
taskSearchfile.IsIndeterminate(false);
taskSearchfile.Increment(100);
taskSearchfile.StopTask();
_childTask.MaxValue = _totalCnt;
_childTask.StartTask();

View File

@ -51,19 +51,19 @@ public class Main : ToolBase<Option>
p.BeginErrorReadLine();
await p.WaitForExitAsync();
payload.Value.IsIndeterminate(false);
if (p.ExitCode == 0) {
payload.Value.State.Status(TaskStatusColumn.Statues.Succeed);
_repoStatus.AddOrUpdate(payload.Key, _ => TaskStatusColumn.Statues.Succeed
, (_, _) => TaskStatusColumn.Statues.Succeed);
payload.Value.Increment(100);
payload.Value.StopTask();
}
else {
payload.Value.State.Status(TaskStatusColumn.Statues.Failed);
_repoStatus.AddOrUpdate(payload.Key, _ => 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);
}
taskFinder.IsIndeterminate(false);
taskFinder.Increment(100);
taskFinder.StopTask();
taskFinder.State.Status(TaskStatusColumn.Statues.Succeed);
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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
id="root" xmlns="">

View File

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