Aggiunta delay casuale
This commit is contained in:
@@ -61,17 +61,17 @@ namespace Eqn.Sender.Controllers
|
||||
#endif
|
||||
|
||||
[HttpPost("sendAndroid")]
|
||||
public async Task<string> SendAndroid([FromBody] MsgPayload rawData, bool fullReturn = false, int maxToken = 499, int numParall = 4, bool dryRun = false)
|
||||
public async Task<string> SendAndroid([FromBody] MsgPayload rawData, bool fullReturn = false, bool doDelay = true, int maxToken = 499, int numParall = 4, bool dryRun = false)
|
||||
{
|
||||
string answ = await DoSend(rawData, fullReturn, true, maxToken, numParall, dryRun);
|
||||
string answ = await DoSend(rawData, fullReturn, doDelay, true, maxToken, numParall, dryRun);
|
||||
// restituisco esito...
|
||||
return answ;
|
||||
}
|
||||
|
||||
[HttpPost("sendIOS")]
|
||||
public async Task<string> SendIOS([FromBody] MsgPayload rawData, bool fullReturn = false, int maxToken = 499, int numParall = 4, bool dryRun = false)
|
||||
public async Task<string> SendIOS([FromBody] MsgPayload rawData, bool fullReturn = false, bool doDelay = true, int maxToken = 499, int numParall = 4, bool dryRun = false)
|
||||
{
|
||||
string answ = await DoSend(rawData, fullReturn, false, maxToken, numParall, dryRun);
|
||||
string answ = await DoSend(rawData, fullReturn, doDelay, false, maxToken, numParall, dryRun);
|
||||
// restituisco esito...
|
||||
return answ;
|
||||
}
|
||||
@@ -157,12 +157,13 @@ namespace Eqn.Sender.Controllers
|
||||
/// </summary>
|
||||
/// <param name="rawData">Dati payload</param>
|
||||
/// <param name="fullReturn">Indica se ritornare per intero il messaggio firebase</param>
|
||||
/// <param name="doDelay">Indica se mettere delay causale 15-25 ms tra ogni send (deault true)</param>
|
||||
/// <param name="isAndroid">Booleano: true = Android / false=iOS</param>
|
||||
/// <param name="maxToken">Num max di token x singolo invio FireBase</param>
|
||||
/// <param name="numParall">Parallelismo send ammesso</param>
|
||||
/// <param name="dryRun">Se true fa solo SIMULAZIONE invio</param>
|
||||
/// <returns></returns>
|
||||
private async Task<string> DoSend(MsgPayload rawData, bool fullReturn, bool isAndroid, int maxToken, int numParall, bool dryRun)
|
||||
private async Task<string> DoSend(MsgPayload rawData, bool fullReturn, bool doDelay, bool isAndroid, int maxToken, int numParall, bool dryRun)
|
||||
{
|
||||
string answ = "";
|
||||
//limito a 499 se anche me ne richiedesse di +...
|
||||
@@ -173,6 +174,7 @@ namespace Eqn.Sender.Controllers
|
||||
int numOk = 0;
|
||||
int numErr = 0;
|
||||
int numResp = 0;
|
||||
Random rnd = new Random();
|
||||
// preparo statistiche invio
|
||||
ConcurrentBag<BStatData> elapsedTime = new ConcurrentBag<BStatData>();
|
||||
// preparare vera lista invio (multi messaggio)
|
||||
@@ -243,6 +245,10 @@ namespace Eqn.Sender.Controllers
|
||||
var options = new ParallelOptions { MaxDegreeOfParallelism = numParall };
|
||||
await Parallel.ForEachAsync(messageList, async (message, token) =>
|
||||
{
|
||||
if (doDelay)
|
||||
{
|
||||
await Task.Delay(rnd.Next(15, 25));
|
||||
}
|
||||
Stopwatch lsw = new Stopwatch();
|
||||
var currData = new BStatData();
|
||||
lsw.Start();
|
||||
@@ -258,6 +264,10 @@ namespace Eqn.Sender.Controllers
|
||||
{
|
||||
foreach (var item in messageList)
|
||||
{
|
||||
if (doDelay)
|
||||
{
|
||||
await Task.Delay(rnd.Next(15, 25));
|
||||
}
|
||||
Stopwatch lsw = new Stopwatch();
|
||||
var currData = new BStatData();
|
||||
lsw.Start();
|
||||
|
||||
Reference in New Issue
Block a user