var lstCsid = lstAppoint.Select(i => i.CsId).ToList();? ? ? ? ? ? ? ? ? ??
var lstCount = lstCsid.Count;? ? ? ? ? ? ? ? ? ??
var pushNo = lstCount % 1000 == 0 ? lstCount / 1000 : lstCount / 1000 + 1;? ? ? ? ? ? ? ? ? ?
var lstLstCsId = new List<List<string>>();
for (var i = 0; i < pushNo; i++)
{
? ? ? ? ? ?lstLstCsId.Add(lstCsid.Skip(++i).Take(1000).ToList());
}
////此處使用Parallel.ForEach,先將循環(huán)處理的數(shù)據(jù)完全準(zhǔn)備好
Parallel.ForEach(lstLstCsId, async item =>
{
await PushHelper.Push("xxxx",
new PushContent
{
C = "xxxxx",
S = PushMessageSystem.FollowUp
},
item.ToArray());
});
////此處使用Parallel.For厘贼,////此處使用Parallel.ForEach苦锨,將循環(huán)處理的數(shù)據(jù)不完全準(zhǔn)備好箕憾,處理過程中也要準(zhǔn)備
//Parallel.For(0, pushNo, async i =>
//{
//? ? await PushHelper.Push("今日跟進(jìn)",
//? ? ? ? new PushContent
//? ? ? ? {
//? ? ? ? ? ? C = "您今日有跟進(jìn)任務(wù)",
//? ? ? ? ? ? S = PushMessageSystem.FollowUp
//? ? ? ? },
//? ? ? ? enumerable.Skip(++i).Take(1000).ToArray());
//});
////此處使用Parallel.ForEach
//Parallel.ForEach(lstAppoint, async item =>
//{
//? ? var tmpAppoint = item;
//? ? if (tmpAppoint.FollowCount > 0)
//? ? {
//? ? ? ? var pushResult = await PushHelper.Push("今日跟進(jìn)",
//? ? ? ? ? ? new PushContent
//? ? ? ? ? ? {
//? ? ? ? ? ? ? ? C = $"您今日有{tmpAppoint.FollowCount}個跟進(jìn)任務(wù)",
//? ? ? ? ? ? ? ? S = PushMessageSystem.FollowUp
//? ? ? ? ? ? },
//? ? ? ? ? ? tmpAppoint.CsId);
//? ? }
//});