public void CompleteMessageTest() { this.SubmitRequestWithPropertiesTest(); var manager = new QueueMessageManagerSql(); var item = new QueueMessageItem() { TextInput = "My input", Message = "Getting started." }; manager.CreateItem(item); manager.Properties["Time"] = DateTime.Now; Assert.IsTrue(manager.Save(), manager.ErrorMessage); string reqId = item.Id; manager = new QueueMessageManagerSql(); item = manager.GetNextQueueMessage(); DateTime?time = manager.GetProperty("Time") as DateTime?; Assert.IsNotNull(time); manager.CompleteRequest(item, "Message completed @" + DateTime.Now.ToString("t")); Assert.IsTrue(manager.Save(), manager.ErrorMessage); }
public void GetNextQueueMessageItemWithoutAddedItemTest() { // allow rolling back using (var scope = new TransactionScope()) { using (var manager = new QueueMessageManagerSql()) { // delete all pending requests int res = manager.Db.ExecuteNonQuery("delete from queuemessageItems where IsNull(started,'') = '' or started < '01/01/2000'"); Console.WriteLine(res); var item = manager.GetNextQueueMessage(); Assert.IsNull(item); // Error Message should be: No queue messages pending Console.WriteLine(manager.ErrorMessage); } } }
public void GetNextQueueMessageItemWithAddedItemTest() { using (var manager = new QueueMessageManagerSql()) { // delete all pending requests int res = manager.Db.ExecuteNonQuery("delete from queuemessageItems where IsNull(started,'') = '' or started < '01/01/2000'"); Console.WriteLine(res); manager.SubmitRequest(messageText: "Next Complete Test " + DateTime.Now.ToString("t")); Assert.IsTrue(manager.Save(), manager.ErrorMessage); } using (var manager = new QueueMessageManagerSql()) { var item = manager.GetNextQueueMessage(); Assert.IsNotNull(item, manager.ErrorMessage); Console.WriteLine(item.Message); manager.CompleteRequest(item, "Next Complete complete " + DateTime.Now.ToString("t")); Assert.IsTrue(manager.Save(), manager.ErrorMessage); } }
void ProcessGetNextItem() { while (!CancelProcessing) { var manager = new QueueMessageManagerSql(); var item = manager.GetNextQueueMessage("Queue1"); if (item != null) lock (GetNextItemLock) { IdList.Add(item.Id); } else IdErrors.Add(manager.ErrorMessage); Thread.Yield(); } }
public void CompleteMessageTest() { this.SubmitRequestWithPropertiesTest(); var manager = new QueueMessageManagerSql(); var item = new QueueMessageItem() { TextInput = "My input", Message = "Getting started." }; manager.CreateItem(item); manager.Properties["Time"] = DateTime.Now; Assert.IsTrue(manager.Save(),manager.ErrorMessage); string reqId = item.Id; manager = new QueueMessageManagerSql(); item = manager.GetNextQueueMessage(); DateTime? time = manager.GetProperty("Time") as DateTime?; Assert.IsNotNull(time); manager.CompleteRequest(item,"Message completed @" + DateTime.Now.ToString("t")); Assert.IsTrue(manager.Save(), manager.ErrorMessage); }