//private string _itemId;
        //public QueryMultiStockRunner(string itemId)
        //{
        //    this._itemId = itemId;
        //}

        protected override void Do()
        {
            //var getItemMultiStockRequest = new GetItemMultiStockRequest(_itemId);
            //var rsp = Client.Execute<dynamic>(getItemMultiStockRequest);
            var executor = new GetItemMultiStockExecutor(DateTime.Now.AddHours(-1),Logger);
            executor.Execute();
            //Console.WriteLine(rsp);
        }
예제 #2
0
        public void Execute(IJobExecutionContext context)
        {
#if DEBUG
            DateTime benchTime = DateTime.Now.AddYears(-1);
#else
            JobDataMap data = context.JobDetail.JobDataMap;
            var interval = data.ContainsKey("intervalofmins") ? data.GetInt("intervalofmins") : 1;
            if (!data.ContainsKey("benchtime"))
            {
                data.Put("benchtime", DateTime.Now.AddMinutes(-interval));
            }
            else
            {
                data["benchtime"] = data.GetDateTimeValue("benchtime").AddMinutes(interval);
            }
            var benchTime = data.GetDateTime("benchtime");
#endif
            ILog logger = LogManager.GetLogger(this.GetType());
            ExecuteResult executeInfo = null;
            var analytic = ActionTimer.Perform(() =>
            {
                var inventorySyncExecutor = new GetItemMultiStockExecutor(benchTime, logger);
                executeInfo = inventorySyncExecutor.Execute();
            });


            if (executeInfo.Status != ExecuteStatus.Succeed)
            {
                foreach (var msg in executeInfo.MessageList)
                {
                    logger.Error(msg);
                }
            }
            else
            {
                logger.Info(string.Format("Sync stocks succeed : {0}, failed :{1}, total: {2}, elapsed:{3}, ratio: {4}",
                    executeInfo.SucceedCount,
                    executeInfo.FailedCount,
                    executeInfo.TotalCount,
                    analytic.TotalSeconds,
                    executeInfo.SucceedCount / analytic.TotalSeconds));
            }

        }