private static String BuildMessage(IPersistentQueue queue, IPersistentQueueItem invalidQueueItem) { return(String.Format("Queue Item of type {0} stores data to a table named \"{1}\". Queue of type {2} stores data to a table names \"{3}\"", invalidQueueItem.GetType(), invalidQueueItem.TableName(), queue.GetType(), queue.TableName())); }
public virtual void Delete(IPersistentQueueItem item) { if (item is QueueItemType) { store.Delete(item); } else { throw new QueueStorageMismatchException(this, item); } }
public virtual void Invalidate(IPersistentQueueItem item, int invisibleTimeout = 30000) { if (item is QueueItemType) { item.InvisibleUntil = DateTime.Now.AddMilliseconds(invisibleTimeout); store.Update(item); } else { throw new QueueStorageMismatchException(this, item); } }
/// <summary> /// Removes the record from the queue, optionally removing it from the database. /// </summary> public virtual void Delete(IPersistentQueueItem item, bool removeFromDB) { if (removeFromDB) { base.Delete(item); } else { var fqItem = (FilterQueueItem)item; fqItem.DeleteTime = DateTime.Now; store.Update(fqItem); } }
public QueueStorageMismatchException(IPersistentQueue queue, IPersistentQueueItem invalidQueueItem) : base(BuildMessage(queue, invalidQueueItem)) { }
/// <summary> /// Removes the record from the queue without removing it from the database /// </summary> public override void Delete(IPersistentQueueItem item) { this.Delete(item, false); }