Exemple #1
0
        /// <summary>
        /// 执行TASK更新市场深度
        /// </summary>
        /// <param name="model"></param>
        public void TaskExecution(VmpConfigModel model)
        {
            //Log.Info($"执行更新市场深度TaskExecution,platformCode={platformCode};coinCode={coinCode};currencyCode={currencyCode}");
            try
            {
                ExchangeType   eType      = (ExchangeType)Enum.Parse(typeof(ExchangeType), model.PlatformCode);
                ExChangeBase   eb         = ExchangeFactory.InstanExchange(eType);
                LatePriceModel priceModel = eb.GetLatestRecord(model.CurrencyCode, model.ExCurrencyCode);
                if (priceModel.Asks == null)
                {
                    Log.Error($"执行查询集合为空,platformCode={model.PlatformCode};coinCode={model.CurrencyCode};currencyCode={model.ExCurrencyCode}");
                    return;
                }

                //更新数据库市场深度
                //UpdateLatePriceFacade latePriceFacade =new UpdateLatePriceFacade();
                //latePriceFacade.InsertLatestRecord(model, priceModel);
                //更新缓存市场深度
                UpdateDepthFacade depthFacade = new UpdateDepthFacade();
                if (!depthFacade.UpdateLatePrice(model, priceModel))
                {
                    Log.Error($"Error,更新缓存市场深度失败,platformCode={model.PlatformCode};coinCode={model.CurrencyCode};currencyCode={model.ExCurrencyCode}");
                }

                GC.Collect();
            }
            catch (Exception ex)
            {
                Log.Error("执行查询插入数据出错" + ex);
            }
        }
Exemple #2
0
        /// <summary>
        /// 更新24小时市场价,废弃
        /// </summary>
        /// <param name="platformId"></param>
        /// <param name="coinId"></param>
        /// <param name="exchangeId"></param>
        /// <param name="exName"></param>
        /// <param name="platformCode"></param>
        /// <param name="coinCode"></param>
        public void TaskExecution(int platformId, int coinId, int exchangeId, string exName, string platformCode, string coinCode)
        {
            Log.Info("执行TaskExecution:" + platformCode + "_" + coinCode + "_" + exName);
            try
            {
                ExchangeType   eType      = (ExchangeType)Enum.Parse(typeof(ExchangeType), platformCode);
                ExChangeBase   eb         = ExchangeFactory.InstanExchange(eType);
                BasePriceModel priceModel = eb.GetNowPrice(coinCode, exName);
                if (priceModel == null)
                {
                    return;
                }
                //得到1970年的时间戳
                DateTime timeStamp = new DateTime(1970, 1, 1);
                //注意这里有时区问题,用now就要减掉8个小时
                string timestamps = Convert.ToString((DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000);
                InsertQuotes(platformId, coinId, exchangeId, platformCode, coinCode, timestamps, priceModel);

                GC.Collect();
            }
            catch (Exception ex)
            {
                Log.Error("执行查询插入数据出错" + ex);
            }
        }