using Api.Framework.Events;
using Api.Framework.SDK;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Api.Framework.Timers
{
///
/// 更新同时队列定时器
///
public class Update_NoticeQueue : TimerTask
{
private Queue queue = Queue.Synchronized(new Queue());
public void Add(OrderNoticeEvent e)
{
queue.Enqueue(e);
}
public void Add(List e)
{
queue.Enqueue(e.ToArray());
}
private object GetData()
{
try
{
return queue.Dequeue();
}
catch (Exception)
{
}
return null;
}
public override void Run(object state, bool timeout)
{
if (queue.Count > 0)
{
var v = GetData();
while (v!=null)
{
EventClient.OnEvent(this, v);
Thread.Sleep(10);
//Thread.Sleep(ApiClient.Setting.SystemConfig.timer_send_interval);
v = GetData();
}
}
}
}
}