private static void Send_Message_to_a_Queue_with_Delay() { var queue = new KubeMQ.SDK.csharp.Queue.Queue("QueueName", "ClientID", "localhost:50000", null, tempAuthToken); var resSend = queue.SendQueueMessage(new KubeMQ.SDK.csharp.Queue.Message { Body = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("some-simple_queue-queue-message"), Metadata = "emptyMeta", Policy = new KubeMQ.Grpc.QueueMessagePolicy { DelaySeconds = 5 } }); if (resSend.IsError) { Console.WriteLine($"Message enqueue error, error:{resSend.Error}"); } }
private static void Send_Message_to_a_Queue() { var queue = new KubeMQ.SDK.csharp.Queue.Queue("QueueName", "ClientID", "localhost:50000", null, tempAuthToken); try { var resSend = queue.SendQueueMessage(new KubeMQ.SDK.csharp.Queue.Message { Body = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("some-simple_queue-queue-message"), Metadata = "someMeta" }); if (resSend.IsError) { Console.WriteLine($"Message enqueue error, error:{resSend.Error}"); } } catch (Exception ex) { Console.WriteLine($"Message enqueue error, error:{ex.Message}"); } }
private static void Ack_All_Messages_In_a_Queue() { var queue = new KubeMQ.SDK.csharp.Queue.Queue("QueueName", "ClientID", "localhost:50000", null, tempAuthToken); try { var resAck = queue.AckAllQueueMessages(); if (resAck.IsError) { Console.WriteLine($"AckAllQueueMessagesResponse error, error:{resAck.Error}"); return; } Console.WriteLine($"Ack All Messages:{resAck.AffectedMessages} completed"); } catch (System.Exception ex) { Console.WriteLine($"AckAllQueueMessagesResponse error, error:{ex.Message}"); } }
private static void Peek_Messages_from_a_Queue() { var queue = new KubeMQ.SDK.csharp.Queue.Queue("QueueName", "ClientID", "localhost:50000", null, tempAuthToken) { WaitTimeSecondsQueueMessages = 1 }; var resPeak = queue.PeekQueueMessage(10); if (resPeak.IsError) { Console.WriteLine($"Message peak error, error:{resPeak.Error}"); return; } Console.WriteLine($"Peaked {resPeak.MessagesReceived} Messages:"); foreach (var item in resPeak.Messages) { Console.WriteLine($"MessageID: {item.MessageID}, Body:{KubeMQ.SDK.csharp.Tools.Converter.FromByteArray(item.Body)}"); } }
private static void acallkmsgs(string queueName) { try { var q = new KubeMQ.SDK.csharp.Queue.Queue(queueName, ClientID, KubeMQServerAddress); var res = q.AckAllQueueMessages(); if (res.IsError) { Console.WriteLine($"[DemoSender][acallkmsgs]message dequeue error, error:{res.Error}"); return; } Console.WriteLine("[DemoSender][acallkmsgs]acked all messages"); } catch (Exception ex) { Console.WriteLine($"[DemoSender]Error while pinging to kubeMQ address:{ex.Message}"); Console.WriteLine($"[DemoSender]Error while pinging to kubeMQ address:{KubeMQServerAddress}"); } }
static void Main(string[] args) { var QueueName = "hello-world-queue"; var ClientID = "test-queue-client-id2"; var KubeMQServerAddress = "localhost:50000"; KubeMQ.SDK.csharp.Queue.Queue queue = null; try { queue = new KubeMQ.SDK.csharp.Queue.Queue(QueueName, ClientID, KubeMQServerAddress); } catch (Exception ex) { Console.WriteLine(ex.Message); } try { var res = queue.SendQueueMessage(new KubeMQ.SDK.csharp.Queue.Message { Body = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray("some-simple_queue-queue-message"), Metadata = "emptyMeta" }); if (res.IsError) { Console.WriteLine($"message enqueue error, error:{res.Error}"); } else { Console.WriteLine($"message sent at, {res.SentAt}"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private static void peakmsgs(string queueName) { try { var q = new KubeMQ.SDK.csharp.Queue.Queue(queueName, ClientID, KubeMQServerAddress); var res = q.PeekQueueMessage(); if (res.IsError) { Console.WriteLine($"[DemoSender][peakmsgs]message dequeue error, error:{res.Error}"); return; } foreach (var item in res.Messages) { Console.WriteLine($"[DemoSender][peakmsgs]read:{KubeMQ.SDK.csharp.Tools.Converter.FromByteArray(item.Body)}"); } } catch (Exception ex) { Console.WriteLine($"[DemoSender]Error while pinging to kubeMQ address:{ex.Message}"); Console.WriteLine($"[DemoSender]Error while pinging to kubeMQ address:{KubeMQServerAddress}"); } }
static void Main(string[] args) { var QueueName = "hello-world-queue"; var ClientID = "test-queue-client-id"; var KubeMQServerAddress = "localhost:50000"; KubeMQ.SDK.csharp.Queue.Queue queue = null; try { queue = new KubeMQ.SDK.csharp.Queue.Queue(QueueName, ClientID, KubeMQServerAddress); } catch (Exception ex) { Console.WriteLine(ex.Message); } try { var msg = queue.ReceiveQueueMessages(); if (msg.IsError) { Console.WriteLine($"message dequeue error, error:{msg.Error}"); return; } Console.WriteLine($"Received {msg.MessagesReceived} Messages:"); foreach (var item in msg.Messages) { Console.WriteLine($"MessageID: {item.MessageID}, Body:{KubeMQ.SDK.csharp.Tools.Converter.FromByteArray(item.Body)}"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private static void Transactional_Queue_Resend_Modified_Message() { var queue = new KubeMQ.SDK.csharp.Queue.Queue("QueueName", "ClientID", "localhost:50000", null, tempAuthToken); var transaction = queue.CreateTransaction(); // get message from the queue with visibility of 5 seconds and wait timeout of 10 seconds KubeMQ.SDK.csharp.Queue.Stream.TransactionMessagesResponse resRec; try { resRec = transaction.Receive(3, 5); if (resRec.IsError) { Console.WriteLine($"Message dequeue error, error:{resRec.Error}"); return; } } catch (System.Exception ex) { Console.WriteLine($"Message dequeue error, error:{ex.Message}"); return; } Console.WriteLine($"MessageID: {resRec.Message.MessageID}, Body:{KubeMQ.SDK.csharp.Tools.Converter.FromByteArray(resRec.Message.Body)}"); var modMsg = resRec.Message; modMsg.Queue = "receiverB"; modMsg.Metadata = "new metadata"; try { var resMod = transaction.Modify(modMsg); if (resMod.IsError) { Console.WriteLine($"Message Modify error, error:{resMod.Error}"); return; } } catch (System.Exception ex) { Console.WriteLine($"Message Modify error, error:{ex.Message}"); return; } }
static void Main(string[] args) { Console.WriteLine("[DemoSender]KubeMQ Queue pattern Simple Sender"); Console.WriteLine($"[DemoSender] ClientID:{ClientID}"); Console.WriteLine($"[DemoSender] QueueName:{QueueName}"); Console.WriteLine($"[DemoSender] KubeMQServerAddress:{KubeMQServerAddress}"); KubeMQ.SDK.csharp.Queue.Queue queue = creatreQueue(); if (queue == null) { return; } Console.WriteLine($"Enter 'peak' to peak the {QueueName}_done"); Console.WriteLine($"Enter 'ackall' to ack all in {QueueName}_done"); Console.WriteLine($"Enter 'loopX' to loop X messages to {QueueName}"); while (true) { if (queue == null) { Thread.Sleep(1000); queue = creatreQueue(); continue; } Console.WriteLine($"Enter new message to queue {QueueName}, peak, ackall, loopx"); var readline = Console.ReadLine(); if (readline == "peak") { peakmsgs(QueueName + "_done"); continue; } if (readline == "ackall") { acallkmsgs(QueueName + "_done"); continue; } if (readline.StartsWith("loop")) { var splt = readline.Split("loop"); loopmsg(QueueName, splt[1]); continue; } try { var res = queue.SendQueueMessage(new KubeMQ.SDK.csharp.Queue.Message { Body = KubeMQ.SDK.csharp.Tools.Converter.ToByteArray(readline), Metadata = readline }); if (res.IsError) { Console.WriteLine($"[DemoSender]Sent:{readline} error, error:{res.Error}"); } else { Console.WriteLine($"[DemoSender]Sent:{readline}"); } } catch (RpcException rpcex) { Console.WriteLine($"rpc error: {rpcex.Message} will restart queue"); queue = creatreQueue(); } catch (Exception ex) { Console.WriteLine($"Exception has accrued: {ex.Message} will restart queue"); } } }