public static void QueueListen <T1>(Action <T1> act, string queueLinsten, string queueFail, string labelField = "", bool isCreateQueue = false) { QueueReceiver queueReceiver = new QueueReceiver(queueLinsten, isCreateQueue); queueReceiver.Init <T1>(act, queueFail, labelField); QueueManager.ListQueue.Add(queueReceiver); }
public static void QueueListenLimitTime <T, T2>(Func <T, T2> act, string queueLinsten, string queueNextLinsten, string queueFail, string labelField = "", bool isCreateQueue = false) { QueueReceiver queueReceiver = new QueueReceiver(queueLinsten, isCreateQueue); Func <T, T2> func = act; queueReceiver.InitLimitTime <T, T2>(func, queueNextLinsten, queueFail, labelField); QueueManager.ListQueue.Add(queueReceiver); }
private void connection_ConnectionShutdown(object sender, ShutdownEventArgs e) { IConnection connection = (IConnection)sender; QueueReceiver queueReceiver = QueueManager.ListQueue.FirstOrDefault(x => x.QueueName + Configuration.Config.Environment() == connection.ClientProvidedName); if (queueReceiver != null && !queueReceiver.StopManual && !connection.IsOpen) { //T2P._2015.Cross.Utility.Log.Logging.Error(e.ToString()); //T2P._2015.Cross.Utility.Network.Email email = new Network.Email(); //string queueEmail = Configuration.Config.GetAppSetting<string>("QueueEmail"); //if (string.IsNullOrWhiteSpace(queueEmail)) //{ // queueEmail = "*****@*****.**"; //} //email.SendMailMessage("Queue " + connection.ClientProvidedName + " is stopped", e.ToString(), queueEmail); queueReceiver.Start(); } }