场景: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);
}