/// <summary>开始工作</summary> /// <param name="reason"></param> protected override void StartWork(String reason) { // 配置APM性能跟踪器 var set = Stardust.Setting.Current; if (!set.Server.IsNullOrEmpty()) { // 配置指向星尘监控中心 var tracer = new StarTracer(set.Server) { Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; DAL.GlobalTracer = tracer; Tracer = tracer; } InitNetServer(); InitRpcServer(); _timer1 = new TimerX(s => ShowStat(), null, 1000, 1000) { Async = true }; _timer2 = new TimerX(s => SendTime(_netServer), null, 1000, 1000) { Async = true }; base.StartWork(reason); }
/// <summary>开始工作</summary> /// <param name="reason"></param> protected override void StartWork(String reason) { WriteLog("业务开始……"); // 配置APM性能跟踪器 var set = Setting.Current; if (!set.TracerServer.IsNullOrEmpty()) { // 配置指向星尘监控中心 var tracer = new StarTracer(set.TracerServer) { Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; DAL.GlobalTracer = tracer; Tracer = tracer; } // 5秒开始,每60秒执行一次 _timer = new TimerX(DoWork1, null, 5_000, 60_000) { Async = true }; // 每天凌晨2点13分执行一次 _timer2 = new TimerX(DoWork2, null, DateTime.Today.AddMinutes(2 * 60 + 13), 24 * 3600 * 1000) { Async = true }; base.StartWork(reason); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var server = Stardust.Setting.Current.Server; if (server.IsNullOrEmpty()) { server = "http://star.newlifex.com:6600"; } // APM跟踪器 var tracer = new StarTracer(server) { Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; DAL.GlobalTracer = tracer; TracerMiddleware.Tracer = tracer; services.AddSingleton <ITracer>(tracer); // 引入Redis,用于消息队列和缓存,单例,带性能跟踪 var rds = new FullRedis { Tracer = tracer }; rds.Init("server=127.0.0.1:6379;password=;db=3;timeout=5000"); services.AddSingleton <ICache>(rds); services.AddSingleton(rds); services.AddControllers(); }
static void Test2() { //var tracer = new StarTracer { Log = XTrace.Log }; //var http = tracer.CreateHttpClient(); //http.GetStringAsync("https://x.newlifex.com").Wait(); //Thread.Sleep(10_000); var tracer = StarTracer.Register(); }
private void StartClient() { var set = Setting.Current; var server = Stardust.Setting.Current.Server; if (server.IsNullOrEmpty()) { return; } WriteLog("初始化服务端地址:{0}", server); var client = new StarClient(server) { Code = set.Code, Secret = set.Secret, Log = XTrace.Log, }; // 登录后保存证书 client.OnLogined += (s, e) => { var inf = client.Info; if (inf != null && !inf.Code.IsNullOrEmpty()) { set.Code = inf.Code; set.Secret = inf.Secret; set.Save(); } }; // APM埋点。独立应用名 var tracer = new StarTracer { AppId = "StarAgent", //AppSecret = null, Client = new ApiHttpClient(server), Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; client.Tracer = tracer; // 使用跟踪 client.UseTrace(); _Client = client; // 可能需要多次尝试 _timer = new TimerX(TryConnectServer, client, 0, 5_000) { Async = true }; }
/// <summary>开始工作</summary> /// <param name="reason"></param> protected override void StartWork(String reason) { WriteLog("业务开始……"); // 配置APM性能跟踪器 var set = Setting.Current; if (!set.TracerServer.IsNullOrEmpty()) { // 配置指向星尘监控中心 var tracer = new StarTracer(set.TracerServer) { Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; DAL.GlobalTracer = tracer; Tracer = tracer; } var set2 = AntSetting.Current; // 实例化调度器 var sc = new Scheduler { Tracer = Tracer, // 使用分布式调度引擎替换默认的本地文件调度 Provider = new NetworkJobProvider { Debug = set2.Debug, Server = set2.Server, AppID = set2.AppID, Secret = set2.Secret, } }; // 添加作业处理器 //sc.Handlers.Add(new SqlHandler()); //sc.Handlers.Add(new SqlMessage()); sc.Handlers.Add(new HelloJob()); sc.Handlers.Add(new BuildProduct()); sc.Handlers.Add(new BuildPlan()); // 启动调度引擎,调度器内部多线程处理 sc.Start(); _Scheduler = sc; base.StartWork(reason); }
public void ConfigureServices(IServiceCollection services) { // APM跟踪器 var tracer = new StarTracer("http://star.newlifex.com:6600") { Log = XTrace.Log }; DefaultTracer.Instance = tracer; //ApiHelper.Tracer = tracer; //DAL.GlobalTracer = tracer; //OAuthClient.Tracer = tracer; TracerMiddleware.Tracer = tracer; services.AddSingleton <ITracer>(tracer); services.AddCube(); }
static ITracer InitTracer(IObjectContainer services) { var server = Stardust.Setting.Current.Server; if (server.IsNullOrEmpty()) { server = "http://star.newlifex.com:6600"; } // 星尘监控,性能跟踪器 var tracer = new StarTracer(server) { Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; DAL.GlobalTracer = tracer; services.AddSingleton <ITracer>(tracer); return(tracer); }
public void ConfigureServices(IServiceCollection services) { var set = Stardust.Setting.Current; if (!set.Server.IsNullOrEmpty()) { // APM跟踪器 var tracer = new StarTracer(set.Server) { Log = XTrace.Log }; DefaultTracer.Instance = tracer; ApiHelper.Tracer = tracer; DAL.GlobalTracer = tracer; OAuthClient.Tracer = tracer; TracerMiddleware.Tracer = tracer; services.AddSingleton <ITracer>(tracer); } services.AddControllersWithViews(); services.AddCube(); }