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) { // TODO --> Validar data local com base na UTC e corrigir, caso necessário. if (workItem == null) { throw new ArgumentNullException($"{nameof(workItem)} must be informed to CreateFileProcess."); } DateTime sendDate = ((ICreateFileWorkItemArguments)workItem.Arguments).SendDate; Console.WriteLine($"Creating file using parameter: {sendDate }"); string toSend = JsonConvert.SerializeObject(new { SendDate = sendDate }); dynamic id = await RetryHelper.RetryAsync <Exception>(async() => await PostWorkItemEndpointAddress <Guid>(toSend), 3, TimeSpan.FromSeconds(3), Logger); Console.WriteLine("Created file Id: {0}", id); CreateFileWorkResult result = new CreateFileWorkResult { FileName = "GNS.ORG001.T0000001.CS_20180129170710", 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)); }