場景:N個客戶端向MQ里發送數據;服務器上有另一個控制台程序(假設叫ServerClient)來處理這里數據(往數據庫保存)。方向為Client * n→MQSERVER→ServerClient
問題:ServerClient自動關閉,沒有錯誤日志,沒有系統日志,且可以重新開啟,沒有錯誤信息。
原因:不明。猜測可能:1.人為關閉;2.跟系統策略啥的有關,被系統回收;3.RabbitMQ自身問題
暫時處理辦法:網上百度說RabbitMQ自身問題,需要命令啟動的時候增加參數,如下:
啟動: rabbitmq-server –detached
關閉:rabbitmqctl stop
以上方法沒法證實,所以我想用另一個程序補充:
思路:
用計划任務每隔1分鍾檢測一下ServerClient是否有在運行(進程檢測),若沒運行,則使用代碼開啟。
if (System.Diagnostics.Process.GetProcessesByName("ProcessName").ToList().Count = 0)
{
Process.Start(Path);
}
