public static void Register(string Name, CronEventHandler handler, string CronSpec, bool Unique, CronLimit limit) { lock (m_Handlers.SyncRoot) { m_Handlers.Add(new CronEventEntry(Name, handler, new CronJob(CronSpec), Unique, limit)); } }
public CronEventEntry(string Name, CronEventHandler handler, CronJob Cronjob, bool Unique, CronLimit limit) { // infer a name from the handler passed in (if one was not supplied) m_Name = (Name != null) ? Name : (handler != null && handler.Method != null && handler.Method.Name != null) ? handler.Method.Name : "Unknown"; m_Unique = Unique; m_Handler = handler; m_Cronjob = Cronjob; m_Limit = limit; }
public static void QueueTask(string Name, CronEventHandler handler, string CronSpec, bool Unique) { lock (m_TaskQueue.SyncRoot) { CronEventEntry task = new CronEventEntry(Name, handler, new CronJob(CronSpec), Unique, null); if (Unique == true) { // only one if (m_TaskQueue.Contains(task) == false) { m_TaskQueue.Enqueue(task); } } else { m_TaskQueue.Enqueue(task); } } }
public static void Register(string Name, CronEventHandler handler, string CronSpec, bool Unique) { Register(Name, handler, CronSpec, Unique, null); }
public static void Register(string Name, CronEventHandler handler, string CronSpec) { Register(Name, handler, CronSpec, true); }
// register a new job public static void Register(CronEventHandler handler, string CronSpec) { Register(null, handler, CronSpec, true); }
public static void QueueTask(string Name, CronEventHandler handler, string CronSpec) { QueueTask(Name, handler, CronSpec, true); }
public static void QueueTask(string Name, CronEventHandler handler) { QueueTask(Name, handler, null, true); }
public static void QueueTask(string Name, CronEventHandler handler, string CronSpec, bool Unique) { lock (m_TaskQueue.SyncRoot) { CronEventEntry task = new CronEventEntry(Name, handler, new CronJob(CronSpec), Unique, null); if (Unique == true) { // only one if (m_TaskQueue.Contains(task) == false) m_TaskQueue.Enqueue(task); } else m_TaskQueue.Enqueue(task); } }
public static void QueueIdleTask(CronEventHandler handler) { QueueIdleTask(null, handler, null, true); }