예제 #1
0
        private void NodeMain_Load(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(GlobalConfig.TaskDataBaseConnectString) || GlobalConfig.NodeID <= 0)
                {
                    string url = GlobalConfig.TaskManagerWebUrl.TrimEnd('/') + "/OpenApi/" + "GetNodeConfigInfo/";
                    var    r   = ApiHelper.Post <dynamic>(url, new
                    {
                    });
                    if (r.success == false)
                    {
                        throw new Exception("请求" + url + "失败,请检查配置中“任务调度平台站点url”配置项");
                    }

                    var    appconfiginfo = r.data;
                    string connectstring = appconfiginfo.TaskDataBaseConnectString;
                    appconfiginfo.TaskDataBaseConnectString = StringDESHelper.DecryptDES(connectstring, "dyd88888888");

                    //var appconfiginfo = new NodeAppConfigInfo();
                    //appconfiginfo.TaskDataBaseConnectString = "server=192.168.17.201;Initial Catalog=dyd_bs_task;User ID=sa;Password=Xx~!@#;";
                    //appconfiginfo.NodeID = 1;

                    if (string.IsNullOrWhiteSpace(GlobalConfig.TaskDataBaseConnectString))
                    {
                        GlobalConfig.TaskDataBaseConnectString = appconfiginfo.TaskDataBaseConnectString;
                    }
                    if (GlobalConfig.NodeID <= 0)
                    {
                        GlobalConfig.NodeID = appconfiginfo.NodeID;
                    }
                }

                BSF.Tool.IOHelper.CreateDirectory(GlobalConfig.TaskSharedDllsDir + @"\");
                CommandQueueProcessor.Run();

                //注册后台监控
                GlobalConfig.Monitors.Add(new SystemMonitor.TaskRecoverMonitor());
                GlobalConfig.Monitors.Add(new SystemMonitor.TaskPerformanceMonitor());
                GlobalConfig.Monitors.Add(new SystemMonitor.NodeHeartBeatMonitor());
                GlobalConfig.Monitors.Add(new SystemMonitor.TaskStopMonitor());
                this.Text = this.Text + GlobalConfig.NodeID;
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message + ",进程即将退出!");
                Application.Exit();
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            if (args != null && args.Length > 0)
            {
                if (args.Length == 1)
                {
                    GlobalConfig.NodeID = Convert.ToInt32(args[0]);
                }
                else if (args.Length == 2)
                {
                    GlobalConfig.NodeID = Convert.ToInt32(args[0]);
                    GlobalConfig.TaskDataBaseConnectString = Convert.ToString(args[1]).Replace("**", " ");
                }
            }

            if (testing)
            {
                //GlobalConfig.TaskDataBaseConnectString = "server=.;Initial Catalog=dyd_bs_task;User ID=sa;Password=123456;";
                GlobalConfig.NodeID = 2;
                BSF.Tool.IOHelper.CreateDirectory(GlobalConfig.TaskSharedDllsDir + @"\");
                //CommandQueueProcessor.lastMaxID = 1;
                CommandQueueProcessor.Run();
                //注册后台监控
                GlobalConfig.Monitors.Add(new SystemMonitor.TaskRecoverMonitor());
                GlobalConfig.Monitors.Add(new SystemMonitor.TaskPerformanceMonitor());
                GlobalConfig.Monitors.Add(new SystemMonitor.NodeHeartBeatMonitor());
                GlobalConfig.Monitors.Add(new SystemMonitor.TaskStopMonitor());
                while (true)
                {
                    System.Threading.Thread.Sleep(1000);
                }
            }
            else
            {
                Application.Run(new NodeMain());
            }
        }