public static async void DoWork() { logger.Debug("Starting Workflow Engine"); CWFEngine bif = new CWFEngine("C:\\Cwf\\Cwf.xml", 50); Random random = new Random(Guid.NewGuid().GetHashCode()); int randomNumber = random.Next(5, 10); System.Console.WriteLine($"Timer initialized with {randomNumber} * 1000"); System.Timers.Timer timer = new System.Timers.Timer(1000 * randomNumber); timer.Elapsed += async(sender, e) => await HandleTimer(bif, timer); timer.Start(); bif.Run(); /*try * { * bif.StartWorkflow(10); * Task.Delay(2000).Wait(); * bif.Stop(); * } * catch (Exception e) * { * System.Console.WriteLine(e.ToString()); * }*/ Console.ReadLine(); }
private static async Task HandleTimer(CWFEngine engine, System.Timers.Timer timer) { Random random = new Random(Guid.NewGuid().GetHashCode()); int randomNumber = random.Next(5, 15); timer.Interval = randomNumber * 1000; System.Console.WriteLine($"Timer initialized with {randomNumber} * 1000"); engine.Stop(); engine.Run(); }