Example #1
0
            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();
            }
Example #2
0
            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();
            }