C# Класс Westwind.MessageQueueing.QueueMessageManagerMongoDb

An implementation of a MongoDb based multi-access Queue that provides random acccess to requests so they can be retrived for long running tasks where both client and server can interact with each message for processing. This implementation uses purely MongoDb server data access to handle the queue which works well for low to high volume loads. Great for long running tasks or even light workflow scenarios.
Наследование: QueueMessageManager
Показать файл Открыть проект

Открытые методы

Метод Описание
ClearMessages ( System.TimeSpan messageTimeout = null ) : bool
CreateDatastore ( ) : bool
DeleteMessage ( string id ) : bool

Deletes an individual queue message by Id

DeleteWaitingMessages ( string queueName = null ) : bool

Deletes all messages that are waiting to be processed

Dispose ( ) : void

Clear data access component

GetCancelledMessages ( string queueName = null, int maxCount ) : IEnumerable
GetCompleteQueueMessages ( string queueName = null, int maxCount ) : IEnumerable
GetNextQueueMessage ( string queueName = null ) : QueueMessageItem

Retrieves the next waiting Message from the Queue based on a provided queueName

GetPendingQueueMessages ( string queueName = null, int maxCount ) : IEnumerable

Retrieves all messages that are pending, that have started but not completed yet.

GetRecentQueueItems ( string queueName = null, int itemCount = 25 ) : IEnumerable

Returns a list of recent queue items

GetTimedOutQueueMessages ( string queueName = null, int maxCount ) : IEnumerable
GetWaitingQueueMessageCount ( string queueName = null ) : int

Returns a count of messages that are waiting to be processed - this is the queue backup.

GetWaitingQueueMessages ( string queueName = null, int maxCount ) : IEnumerable

Returns a count of messages that are waiting to be processed - this is the queue backup.

IsCompleted ( string id = null ) : bool

Determines if anqueue has been completed successfully or failed. Note this method returns true if the request has completed or cancelled/failed. It just checks for completion.

Load ( string id ) : QueueMessageItem

Loads a Queue Message Item by its ID

QueueMessageManagerMongoDb ( ) : System
QueueMessageManagerMongoDb ( string connectionString ) : System
Save ( QueueMessageItem item = null ) : bool

Saves the passed message item or the attached item to the database. Call this after updating properties or individual values. Inserts or updates based on whether the ID exists

Защищенные методы

Метод Описание
GetDatabase ( string connectionString = null, string databaseName = null ) : MongoDatabase

Creates a connection to a databaseName based on the Databasename and optional server connection string. Returned Mongo DatabaseName 'connection' can be cached and reused.

Описание методов

ClearMessages() публичный Метод

public ClearMessages ( System.TimeSpan messageTimeout = null ) : bool
messageTimeout System.TimeSpan
Результат bool

CreateDatastore() публичный Метод

public CreateDatastore ( ) : bool
Результат bool

DeleteMessage() публичный Метод

Deletes an individual queue message by Id
public DeleteMessage ( string id ) : bool
id string
Результат bool

DeleteWaitingMessages() публичный Метод

Deletes all messages that are waiting to be processed
public DeleteWaitingMessages ( string queueName = null ) : bool
queueName string
Результат bool

Dispose() публичный Метод

Clear data access component
public Dispose ( ) : void
Результат void

GetCancelledMessages() публичный Метод

public GetCancelledMessages ( string queueName = null, int maxCount ) : IEnumerable
queueName string
maxCount int
Результат IEnumerable

GetCompleteQueueMessages() публичный Метод

public GetCompleteQueueMessages ( string queueName = null, int maxCount ) : IEnumerable
queueName string
maxCount int
Результат IEnumerable

GetDatabase() защищенный Метод

Creates a connection to a databaseName based on the Databasename and optional server connection string. Returned Mongo DatabaseName 'connection' can be cached and reused.
protected GetDatabase ( string connectionString = null, string databaseName = null ) : MongoDatabase
connectionString string Mongo server connection string. /// Can either be a connection string entry name from the ConnectionStrings /// section in the config file or a full server string. /// If not specified looks for connectionstring entry in same name as /// the context. Failing that mongodb://localhost is used. /// /// Examples: /// MyDatabaseConnectionString (ConnectionStrings Config Name) /// mongodb://localhost /// mongodb://localhost:22011/MyDatabase /// mongodb://username:password@localhost:22011/MyDatabase ///
databaseName string Name of the databaseName to work with if not specified on the connection string
Результат MongoDatabase

GetNextQueueMessage() публичный Метод

Retrieves the next waiting Message from the Queue based on a provided queueName
public GetNextQueueMessage ( string queueName = null ) : QueueMessageItem
queueName string Name of the queue
Результат QueueMessageItem

GetPendingQueueMessages() публичный Метод

Retrieves all messages that are pending, that have started but not completed yet.
public GetPendingQueueMessages ( string queueName = null, int maxCount ) : IEnumerable
queueName string Name of the queue to return items for
maxCount int Optional - max number of items to return
Результат IEnumerable

GetRecentQueueItems() публичный Метод

Returns a list of recent queue items
public GetRecentQueueItems ( string queueName = null, int itemCount = 25 ) : IEnumerable
queueName string
itemCount int Max number of items to return
Результат IEnumerable

GetTimedOutQueueMessages() публичный Метод

public GetTimedOutQueueMessages ( string queueName = null, int maxCount ) : IEnumerable
queueName string
maxCount int
Результат IEnumerable

GetWaitingQueueMessageCount() публичный Метод

Returns a count of messages that are waiting to be processed - this is the queue backup.
public GetWaitingQueueMessageCount ( string queueName = null ) : int
queueName string
Результат int

GetWaitingQueueMessages() публичный Метод

Returns a count of messages that are waiting to be processed - this is the queue backup.
public GetWaitingQueueMessages ( string queueName = null, int maxCount ) : IEnumerable
queueName string
maxCount int
Результат IEnumerable

IsCompleted() публичный Метод

Determines if anqueue has been completed successfully or failed. Note this method returns true if the request has completed or cancelled/failed. It just checks for completion.
public IsCompleted ( string id = null ) : bool
id string
Результат bool

Load() публичный Метод

Loads a Queue Message Item by its ID
public Load ( string id ) : QueueMessageItem
id string
Результат QueueMessageItem

QueueMessageManagerMongoDb() публичный Метод

public QueueMessageManagerMongoDb ( ) : System
Результат System

QueueMessageManagerMongoDb() публичный Метод

public QueueMessageManagerMongoDb ( string connectionString ) : System
connectionString string
Результат System

Save() публичный Метод

Saves the passed message item or the attached item to the database. Call this after updating properties or individual values. Inserts or updates based on whether the ID exists
public Save ( QueueMessageItem item = null ) : bool
item QueueMessageItem
Результат bool