public static void AddScheduledService <TProcess, TProcessParam>(IServiceCollection services) where TProcess : IProcess <TProcessParam> { services.AddHostedService <Poller <TProcess, TProcessParam> >(); var schedule = ScheduleTable.GetScheduleForProcess <TProcess, TProcessParam>(); Console.WriteLine($"Registered {schedule.Iteration} Process: {schedule.ProcessName}"); }
public static void StartProcess <TProcessParam>(ScheduleTable entry, TProcessParam param) { BlockingCollection <TProcessParam> cmdQue = (BlockingCollection <TProcessParam>)entry.CmdQue; if (cmdQue.TryAdd(param, -1)) { Console.WriteLine("write on cmdQue succesfull!"); } else { Console.WriteLine("write on cmdque failed"); } }
public static void StartProcess(ScheduleTable entry, int delay) { StartProcess <int>(entry, delay); }