refactoring
This commit is contained in:
parent
1f3d63be3d
commit
e09e6cc3a6
@ -1006,27 +1006,16 @@ public class FileMarker
|
|||||||
|
|
||||||
private static async Task SendChangeNoticeAsync(IEnumerable<Tag> tags, SocketManager socketManager)
|
private static async Task SendChangeNoticeAsync(IEnumerable<Tag> tags, SocketManager socketManager)
|
||||||
{
|
{
|
||||||
await ExecMarkAsync(tags.Where(t => t.EntryType == FileEntryType.File), socketManager.ExecMarkAsNewFilesAsync);
|
const int chunkSize = 1000;
|
||||||
await ExecMarkAsync(tags.Where(t => t.EntryType == FileEntryType.Folder), socketManager.ExecMarkAsNewFoldersAsync);
|
|
||||||
|
|
||||||
return;
|
foreach (var chunk in tags.Where(t => t.EntryType == FileEntryType.File).Chunk(chunkSize))
|
||||||
|
|
||||||
async Task ExecMarkAsync(IEnumerable<Tag> filteredTags, Func<IEnumerable<Tag>, Task> requestAction)
|
|
||||||
{
|
{
|
||||||
const int packSize = 1000;
|
await socketManager.ExecMarkAsNewFilesAsync(chunk);
|
||||||
var count = filteredTags.Count();
|
}
|
||||||
var processed = 0;
|
|
||||||
|
|
||||||
while (processed < count)
|
foreach (var chunk in tags.Where(t => t.EntryType == FileEntryType.Folder).Chunk(chunkSize))
|
||||||
{
|
{
|
||||||
var pack = filteredTags.Skip(processed)
|
await socketManager.ExecMarkAsNewFoldersAsync(chunk);
|
||||||
.Take(packSize)
|
|
||||||
.ToList();
|
|
||||||
|
|
||||||
processed += pack.Count;
|
|
||||||
|
|
||||||
await requestAction(pack);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user