public override async Task <WorkLog> DoWorkAsync(IList <WorkLog> workLogs, WorkItemBase workItem = null) { CreateFileWorkResult workResultCreate = GetWorkLog <CreateFileWorkResult>(workLogs); TokenFileWorkResult workResultToken = GetWorkLog <TokenFileWorkResult>(workLogs); MaskFileWorkResult workResultMask = GetWorkLog <MaskFileWorkResult>(workLogs); Console.WriteLine("Moving files:"); Console.WriteLine(workResultCreate.FileName); Console.WriteLine(workResultToken.UntokenizedFileName); Console.WriteLine(workResultMask.MaskedFileName); await Task.Delay(TimeSpan.FromSeconds(3)); if (new Random().Next(1, 100) < 50) { throw new Exception("MoveFileProcess"); } Guid id = Guid.NewGuid(); Console.WriteLine("Move file Id: {0}", id); MaskFileWorkResult result = new MaskFileWorkResult { MaskedFileName = "GNS.ORG001.T0000001.CS_20180129170710_Masked", WorkId = id, Success = true }; return(new WorkLog(this, result)); }
public override async Task <WorkLog> DoWorkAsync(IList <WorkLog> workLogs, WorkItemBase workItem = null) { TokenFileWorkResult workResult = GetWorkLog <TokenFileWorkResult>(workLogs); Console.WriteLine($"Sending file: {workResult.UntokenizedFileName}"); await Task.Delay(TimeSpan.FromSeconds(3)); if (new Random().Next(1, 100) < 50) { throw new Exception("SendFileProcess"); } Guid id = await Task.Run(() => Guid.NewGuid()); Console.WriteLine("Sent file Id: {0}", id); SendFileWorkResult result = new SendFileWorkResult { LogConnectDirect = "Log Connect Direct", WorkId = id, Success = true }; return(new WorkLog(this, result)); }
public override async Task <WorkLog> DoWorkAsync(IList <WorkLog> workLogs, WorkItemBase workItem = null) { TokenFileWorkResult workResult = GetWorkLog <TokenFileWorkResult>(workLogs); Console.WriteLine($"Masking file: {workResult.UntokenizedFileName}"); dynamic id = await RetryHelper.RetryAsync <Exception>(async() => await PostWorkItemEndpointAddress <Guid>(), 3, TimeSpan.FromSeconds(3), Logger); Console.WriteLine("Masked file Id: {0}", id); MaskFileWorkResult result = new MaskFileWorkResult { MaskedFileName = "GNS.ORG001.T0000001.CS_20180129170710_Masked", WorkId = id, Success = true }; return(new WorkLog(this, result)); }
public override async Task <WorkLog> DoWorkAsync(IList <WorkLog> workLogs, WorkItemBase workItem = null) { CreateFileWorkResult workResult = GetWorkLog <CreateFileWorkResult>(workLogs); Console.WriteLine($"Tokenizing file: {workResult.FileName}"); dynamic id = await RetryHelper.RetryAsync <Exception>(async() => await PostWorkItemEndpointAddress <Guid>(), 3, TimeSpan.FromSeconds(3), Logger); Console.WriteLine("Tokenized Id: {0}", id); // Simulando um percentual abaixo do esperado para setar como fracasso o passo, mesmo que processado com sucesso (estatística, mínimo esperado não alcançado etc...). bool success = new Random().Next(1, 100) < 70; TokenFileWorkResult result = new TokenFileWorkResult { UntokenizedFileName = "GNS.ORG001.T0000001.CS_20180129170710_UnTokenized", WorkId = id, Success = success }; return(new WorkLog(this, result)); }