Exemple #1
0
        public DataTable RunWithBody(string retxml)
        {
            try
            {
                DataSet   ds    = Tools.CXmlToDataSet(retxml);
                DataTable resDt = ds.Tables["RESULT"] ?? null;

                if (resDt == null || resDt.Rows.Count <= 0)
                {
                    Log4netUtil.Warn("作业【" + this.Cur_Job.name + "】结果表未返回:" + retxml);
                    return(null);
                }
                if (resDt.Rows[0]["RST"].ToString() != "T")
                {
                    Log4netUtil.Warn("作业【" + this.Cur_Job.name + "】结果表返回错误:" + retxml);
                    return(null);
                }
                DataTable jgDt = ds.Tables[this.Cur_Job.businesstable] ?? null;
                return(jgDt);
            }
            catch (Exception ex)
            {
                Log4netUtil.Error("作业【" + this.Cur_Job.name + "】RunWithBody发生异常:" + ex.Message, ex);
                return(null);
            }
        }
Exemple #2
0
 public virtual void Run()
 {
     try
     {
         if (IsExecuting)
         {
             Log4netUtil.Warn("请注意,作业【" + this.name + "】正在执行,请稍后");
             return;
         }
         IRunInterface irun = this.TaskStarter.CreateInstance(this);
         if (irun == null)
         {
             Log4netUtil.Warn("作业【" + this.name + "】未找到对应的执行接口");
             return;
         }
         IsExecuting = true;
         Log4netUtil.Debug("作业【" + this.name + "】开始执行");
         irun.Run();
         Tools.FlushMemory();
         Log4netUtil.Debug("作业【" + this.name + "】执行结束");
         IsExecuting = false;
     }
     catch (Exception ex)
     {
         Tools.FlushMemory();
         Log4netUtil.Error("作业【" + this.name + "】执行发生异常" + ex.Message, ex);
         IsExecuting = false;
     }
 }
Exemple #3
0
        static object lockLog = new object();//日志锁
        public static void Init()
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
                          .AddJsonFile("appsettings.json", false);
            var configuration = builder.Build();

            //加载配置到全局
            GlobalConfig.ConnetionString = configuration.GetValue <string>("DBConfig:ConnetionString");
            GlobalConfig.NatPort         = configuration.GetValue <int>("ServerConfig:NatPort");
            GlobalConfig.ServerPort      = configuration.GetValue <int>("ServerConfig:ServerPort");
            GlobalConfig.DefaultUrl      = configuration.GetValue <string>("ServerConfig:DefaultUrl");
            GlobalConfig.RegRoleId       = configuration.GetValue <string>("ServerConfig:RegRoleId");

            var repository = LogManager.CreateRepository("NETCoreRepository");

            XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
            Log4netUtil.LogRepository = repository;//类库中定义的静态变量
            LogHelper.WriteLog       += (level, log, isPrint) =>
            {
                lock (lockLog)
                {
                    switch (level)
                    {
                    case LogLevel.Debug:
                        Log4netUtil.Debug(log);
                        break;

                    case LogLevel.Information:
                        Console.ForegroundColor = ConsoleColor.Green;
                        Log4netUtil.Info(log);
                        break;

                    case LogLevel.Warning:
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Log4netUtil.Warn(log);
                        break;

                    case LogLevel.Error:
                        Console.ForegroundColor = ConsoleColor.Red;
                        Log4netUtil.Error(log);
                        break;

                    case LogLevel.Critical:
                        Console.ForegroundColor = ConsoleColor.DarkRed;
                        Log4netUtil.Fatal(log);
                        break;

                    default:
                        Console.ForegroundColor = ConsoleColor.Green;
                        Log4netUtil.Info(log);
                        break;
                    }
                    if (isPrint)
                    {
                        Console.Write(LogHelper.GetString(level));
                        Console.ResetColor();
                        Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss,ffff} {log}");
                    }
                }
            };

            Task.Run(() =>
            {
                while (true)
                {
                    //更新假在线的主机
                    var bll = new ClientBll();
                    var res = bll.UpdateOfflineClient();
                    LogHelper.Info(res.Message, false);
                    Thread.Sleep(60000);
                }
            });

            var appSettingSetion = configuration.GetSection("AppSettingConfig");
            var appSettingConfig = appSettingSetion.Get <AppSettingConfig>();

            AppDomain.CurrentDomain.UnhandledException -= CurrentDomain_UnhandledException;
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
        }
Exemple #4
0
        static object lockLog          = new object();//日志锁
        public static void Start()
        {
            Task.Run(() =>
            {
                try
                {
                    //初始化配置
                    var builder = new ConfigurationBuilder()
                                  .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
                                  .AddJsonFile("appsettings.json", false);
                    var configuration = builder.Build();

                    Secret     = configuration.GetValue <string>("Secret");
                    ServerUrl  = configuration.GetValue <string>("ServerUrl");
                    ServerPort = configuration.GetValue <int>("ServerPort");
                    NatPort    = configuration.GetValue <int>("NatPort");

                    var repository = LogManager.CreateRepository("NETCoreRepository");
                    XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
                    Log4netUtil.LogRepository = repository;//类库中定义的静态变量
                    LogHelper.WriteLog       += (level, log, isPrint) =>
                    {
                        lock (lockLog)
                        {
                            switch (level)
                            {
                            case LogLevel.Debug:
                                Log4netUtil.Debug(log);
                                break;

                            case LogLevel.Information:
                                Console.ForegroundColor = ConsoleColor.Green;
                                Log4netUtil.Info(log);
                                break;

                            case LogLevel.Warning:
                                Console.ForegroundColor = ConsoleColor.Yellow;
                                Log4netUtil.Warn(log);
                                break;

                            case LogLevel.Error:
                                Console.ForegroundColor = ConsoleColor.Red;
                                Log4netUtil.Error(log);
                                break;

                            case LogLevel.Critical:
                                Console.ForegroundColor = ConsoleColor.DarkRed;
                                Log4netUtil.Fatal(log);
                                break;

                            default:
                                Console.ForegroundColor = ConsoleColor.Green;
                                Log4netUtil.Info(log);
                                break;
                            }
                            if (isPrint)
                            {
                                Console.Write(LogHelper.GetString(level));
                                Console.ResetColor();
                                Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss,ffff} {log}");
                            }
                        }
                    };

                    //连接服务器
                    ConnectNatServer();
                    //开启重连线程
                    reConnectThread = new Thread(ReConnect)
                    {
                        IsBackground = true
                    };
                    reConnectThread.Start();
                    //开启心跳线程
                    heartThread = new Thread(SendHeart)
                    {
                        IsBackground = true
                    };
                    heartThread.Start();
                }
                catch (Exception ex)
                {
                    LogHelper.Info($"Start Error:{ex}");
                }
            });
        }
Exemple #5
0
 public virtual void Run()
 {
     Log4netUtil.Warn("无任务信息执行");
     return;
 }
Exemple #6
0
 public virtual JobInfo Copy()
 {
     Log4netUtil.Warn("请注意,作业【" + name + "】未实现复制接口");
     return(null);
 }
Exemple #7
0
 public virtual JobInfo Create()
 {
     Log4netUtil.Warn("请注意,未发现新增接口");
     return(null);
 }
 public void Delete(JobInfo info)
 {
     Log4netUtil.Warn("作业【" + info.name + "】未实现删除接口");
 }
 public void Add(JobInfo info)
 {
     Log4netUtil.Warn("作业【" + info.name + "】未实现新增接口");
 }