protected void FeedTimer(object sender, System.Timers.ElapsedEventArgs args, FeedingEventType eventType) { FeedData(eventType, new TaskQueueObject() { EventType = eventType, Data = null }); }
/// <summary> /// feeding data into queue /// </summary> /// <param name="eventType"></param> /// <param name="data"></param> /// <returns></returns> protected bool FeedData(FeedingEventType eventType, TaskQueueObject data) { bool result = false; if (_queue == null) { OnPythonEvent(null, "FeedData Queue is null"); } else { try { if (!_queue.TryAdd(data, 50)) { OnPythonEvent(null, "FeedData TryAdd Queue Fail"); result = false; } else { result = true; } } catch (InvalidOperationException e) //add fail { OnPythonEvent(null, "FeedData TryAdd Queue InvalidOperationException:" + e.StackTrace); } catch (Exception e) { OnPythonEvent(null, "FeedData Exception:" + e.StackTrace); } } return(result); }
/// <summary> /// start timer /// </summary> /// <param name="interval"></param> /// <param name="eventType"></param> /// <returns></returns> protected Timer StartTimer(double interval, FeedingEventType eventType) { Timer timer = new System.Timers.Timer(); timer.Interval = interval; timer.Elapsed += (sender, e) => FeedTimer(sender, e, eventType); timer.AutoReset = true; timer.Enabled = true; timer.Start(); return(timer); }