|
@@ -30,8 +30,14 @@ namespace WCS.Service
|
|
|
{
|
|
|
if (stoppingToken.IsCancellationRequested)
|
|
|
return;
|
|
|
- var logconfig = JsonConvert.DeserializeObject<LogConfig>(File.ReadAllText("config.json", Encoding.Default));
|
|
|
- Logs.LogHelper.SetConfigInfo(logconfig);
|
|
|
+
|
|
|
+ #region 启用日志
|
|
|
+
|
|
|
+ var logConfig = JsonConvert.DeserializeObject<LogConfig>(await File.ReadAllTextAsync("config.json", Encoding.Default, stoppingToken));
|
|
|
+ Logs.LogHelper.SetConfigInfo(logConfig);
|
|
|
+
|
|
|
+ #endregion 启用日志
|
|
|
+
|
|
|
_logger.LogInformation("WCS开始启动");
|
|
|
InfoLog.INFO_INIT("WCS开始启动");
|
|
|
Configs.DebugRedisUrl = "127.0.0.1";
|
|
@@ -47,6 +53,7 @@ namespace WCS.Service
|
|
|
WMS.UploadDevInfo();
|
|
|
ProtocolProxy.Do();
|
|
|
};
|
|
|
+ //异常上抛
|
|
|
Configs.UploadException = (d, s) =>
|
|
|
{
|
|
|
if (s == "接口调用中")
|
|
@@ -59,20 +66,7 @@ namespace WCS.Service
|
|
|
WMS.TaskException(d, s);
|
|
|
};
|
|
|
|
|
|
- LogicHandler.DbLog = (msg, device, type) => Helpers.LogHelper.AddWCS_EXCEPTION(msg, device, type);
|
|
|
-
|
|
|
- //Configs.DoCmds = act =>
|
|
|
- //{
|
|
|
- // DB.Do(db =>
|
|
|
- // {
|
|
|
- // var cmds = db.Default.Set<WCS_CMD>().Where(v => v.ENABLED).ToArray();
|
|
|
- // Parallel.ForEach(cmds, cmd =>
|
|
|
- // {
|
|
|
- // act(cmd);
|
|
|
- // cmd.ENABLED = false;
|
|
|
- // });
|
|
|
- // });
|
|
|
- //};
|
|
|
+ LogicHandler.DbLog = Helpers.LogHelper.AddWCS_EXCEPTION;
|
|
|
|
|
|
PLCAccessor.Creater = new PLCAccessors.PLCAccessorsCreater();
|
|
|
try
|
|
@@ -80,14 +74,12 @@ namespace WCS.Service
|
|
|
DB.Do(db =>
|
|
|
{
|
|
|
var items = db.Default.Set<WCS_DEVICEPROTOCOL>()
|
|
|
- //.Where(v => v.ENABLED && v.DEVICE.ENABLED && v.DB.ENABLED && v.DB.PLC.ENABLED)
|
|
|
.Include(v => v.DEVICE.ROUTES)
|
|
|
.Include(v => v.DEVICE.PATHS)
|
|
|
.Include(v => v.DB.PLC).ToArray();
|
|
|
items.Select(v => v.Data()).ToArray();
|
|
|
LogicHandler.AllObjects.AddRange(items);
|
|
|
|
|
|
- //var devices = items.GroupBy(v => v.DEVICE).Select(v => v.Key).ToArray();
|
|
|
var devices = db.Default.Set<WCS_DEVICE>().Include(v => v.ROUTES).Include(v => v.PATHS).Include(v => v.DEVICEGROUP).ToArray();
|
|
|
LogicHandler.AllObjects.AddRange(devices);
|
|
|
});
|
|
@@ -123,6 +115,8 @@ namespace WCS.Service
|
|
|
|
|
|
#endregion 设备扩展数据配置
|
|
|
|
|
|
+ #region 启用所有的逻辑处理器
|
|
|
+
|
|
|
var managerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(v => v.IsSubclassOf(typeof(LogicHandler)) && !v.IsGenericType && !v.IsAbstract).ToArray();
|
|
|
foreach (var type in managerTypes)
|
|
|
{
|
|
@@ -131,7 +125,9 @@ namespace WCS.Service
|
|
|
}
|
|
|
|
|
|
LogicHandler.StartAll();
|
|
|
- //Uploader.Start();
|
|
|
+
|
|
|
+ #endregion 启用所有的逻辑处理器
|
|
|
+
|
|
|
_logger.LogInformation("WCS启动成功");
|
|
|
InfoLog.INFO_INIT("WCS启动成功");
|
|
|
}
|
|
@@ -142,14 +138,11 @@ namespace WCS.Service
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private bool Stoped = false;
|
|
|
-
|
|
|
public override Task StopAsync(CancellationToken cancellationToken)
|
|
|
{
|
|
|
_logger.LogError("WCS关闭");
|
|
|
InfoLog.INFO_INIT("WCS关闭");
|
|
|
LogicHandler.StopAll();
|
|
|
- //Uploader.Stop();
|
|
|
return base.StopAsync(cancellationToken);
|
|
|
}
|
|
|
}
|