public PriorityFsQueue(IQProperties qp) : base(qp.QueueName) { int numProcs = Environment.ProcessorCount; int concurrencyLevel = numProcs * 2; int initialCapacity = 101; QueueList = new ConcurrentDictionary <Ptr, IQueueItem>(concurrencyLevel, initialCapacity); CommitMode = (CommitMode)(int)qp.CommitMode; CoverMode = qp.Mode; if (CoverMode == CoverMode.FileStream) { DbLiteSettings settings = new DbLiteSettings() { Name = qp.QueueName, CommitMode = (CommitMode)(int)qp.CommitMode, DbPath = AgentManager.Settings.QueuesPath }; //settings.SetFast(); QueueHost queueHost = qp.GetRoutHost(); m_fs = new FileMessage(queueHost); //m_db = new PersistentBinary<IQueueItem>(settings); ////m_db = new PersistentDictionary(settings); //m_db.BeginLoading += M_db_BeginLoading; //m_db.LoadCompleted += M_db_LoadCompleted; //m_db.ErrorOcurred += M_db_ErrorOcurred; //m_db.ClearCompleted += M_db_ClearCompleted; ////m_db.ItemChanged += M_db_ItemChanged; //m_db.ItemLoaded = (item) => //{ // this.ReEnqueue(item); //}; if (qp.ReloadOnStart) { QLogger.InfoFormat("PriorityComplexQueue will load items to : {0}", qp.QueueName); } else { QLogger.InfoFormat("PriorityComplexQueue will clear all items from : {0}", qp.QueueName); } //m_db.ReloadOrClearPersist(qp.ReloadOnStart); m_fs.ReloadItemsTo(0, (IQueueItem item) => { this.ReEnqueue(item); }); } }
public PersistQueue(IQProperties qp) { int numProcs = Environment.ProcessorCount; int concurrencyLevel = numProcs * 2; int initialCapacity = 101; DbLiteSettings settings = new DbLiteSettings() { Name = qp.QueueName, CommitMode = (CommitMode)(int)qp.CommitMode, DbPath = AgentManager.Settings.QueuesPath }; //settings.SetFast(); m_db = new PersistentBinary <IQueueItem>(settings); //m_db = new PersistentDictionary(settings); m_db.BeginLoading += M_db_BeginLoading; m_db.LoadCompleted += M_db_LoadCompleted; m_db.ErrorOcurred += M_db_ErrorOcurred; m_db.ClearCompleted += M_db_ClearCompleted; //m_db.ItemChanged += M_db_ItemChanged; m_db.ItemLoaded = (item) => { this.ReEnqueue(item); }; if (qp.ReloadOnStart) { QLogger.InfoFormat("PersistQueue will load items to : {0}", qp.QueueName); } else { QLogger.InfoFormat("PersistQueue will clear all items from : {0}", qp.QueueName); } m_db.ReloadOrClearPersist(qp.ReloadOnStart); }
private void M_db_ClearCompleted(object sender, EventArgs e) { QLogger.InfoFormat("PriorityComplexQueue ClearCompleted : {0}", m_db.Name); }
protected override void OnMessageReceived(QueueItemEventArgs e) { base.OnMessageReceived(e); QLogger.InfoFormat("PriorityPersistQueue OnMessageReceived : Host:{0}, Item:{1}", this.Name, e.Item.Print()); }
protected override void OnErrorOccured(QueueItemEventArgs e) { base.OnErrorOccured(e); QLogger.InfoFormat("PriorityPersistQueue OnError : Host:{0}, message:{1}", this.Name, e.Message); }
private void M_db_BeginLoading(object sender, EventArgs e) { QLogger.InfoFormat("PriorityComplexQueue BeginLoading : {0}", m_db.Name); }
private void M_db_LoadCompleted(object sender, Generic.GenericEventArgs <string, int> e) { QLogger.InfoFormat("PriorityComplexQueue LoadCompleted : {0}, Count:{1}", e.Args1, e.Args2); }
protected override void OnItemChanged(string action, string key, IPersistItem value) { base.OnItemChanged(action, key, value); QLogger.InfoFormat("PersistentQueue OnItemChanged : Name:{0}", this.Name, action, key, key == null ? "" : value.Print()); }
protected override void OnInitilaized(EventArgs e) { base.OnInitilaized(e); QLogger.InfoFormat("PersistentQueue OnInitilaized : Name:{0}", this.Name); }
protected override void OnErrorOcurred(string action, string message) { base.OnErrorOcurred(action, message); QLogger.InfoFormat("PersistentQueue OnError : Name:{0}, action:{1}, message:{2}", this.Name, action, message); }
protected override void OnMessageArrived(QueueItemEventArgs e) { base.OnMessageArrived(e); QLogger.InfoFormat("PriorityMemQueue OnMessageArrived : Host:{0}, Item:{1}", this.Host, e.Item.Print()); }
private void M_db_BeginLoading(object sender, EventArgs e) { QLogger.InfoFormat("PersistQueue BeginLoading : {0}", m_db.Name); }