static void ResetTaskList() { Logger.Info("重置任务列表"); foreach (var stock in UnusedStockDataList) { Logger.Info($"移除 {stock.Code}"); LocalStockDataList.Remove(stock); } UnusedStockDataList.Clear(); }
static void Main(string[] args) { try { var loginResult = Trader.Login(); if (!loginResult.IsSucceeded) { Logger.Error("登录失败,程序退出"); Exit(); } LocalStockDataList.ForEach(stock => Init(stock)); var sleepTime = Int32.Parse(Settings["SleepTime"]) * 1000; var stopwatch = Stopwatch.StartNew(); while (true) { Logger.Info($"批量任务开始,共 {LocalStockDataList.Count} 对象"); RefreshTraderStockData(); LocalStockDataList.ForEach(stock => { Logger.Info($"开始执行 {stock.Code} "); ExecuteOneStock(stock); Logger.Info($"结束执行 {stock.Code} "); }); Logger.Info($"批量任务结束,共 {LocalStockDataList.Count} 对象"); ResetTaskList(); Logger.Info($"进入休眠"); if (stopwatch.ElapsedMilliseconds < sleepTime) { Thread.Sleep(sleepTime - (int)stopwatch.ElapsedMilliseconds); } stopwatch.Restart(); } } catch (Exception e) { Logger.Info($"执行出错,退出执行。错误信息:{e.Message} StackTrace: {e.StackTrace}"); Exit(); } }