/// <summary> /// 检测T8ConfigItemDic是否为空 /// </summary> private void CheckT8CofigItem(CancellationToken ct) { int intervaltime = 1000 * 30; //任务项为空,间隔30秒重新检测 int intervaltime2 = 1000 * 1800; //任务项为空,休息30分钟重新检测 while (true) { ct.ThrowIfCancellationRequested(); if (T8ConfigItemDic == null || T8ConfigItemDic.Keys.Count == 0) { T8ConfigItemDic = T8ConfigHelper.CloneT8ConfigItem(); if (T8ConfigItemDic != null && T8ConfigItemDic.Keys.Count > 0) { for (int i = 0; i < intervaltime2; i++) { ct.ThrowIfCancellationRequested(); Thread.Sleep(1000); } } } else { for (int i = 0; i < intervaltime; i++) { ct.ThrowIfCancellationRequested(); Thread.Sleep(1000); } } } }
/// <summary> /// /// </summary> /// <param name="type">1普通轮询执行 2 Quartz调度作业</param> public TaskManager(int type) { Task.Factory.StartNew(() => { T8ConfigItemDic = T8ConfigHelper.CloneT8ConfigItem(); if (T8ConfigItemDic == null) { T8ConfigItemDic = new ConcurrentDictionary <string, T8ConfigItemEntity>(); } }); if (type == 1) { //初始化任务队列 InitTaskQueue(); } else { T8ConfigItemDic = T8ConfigHelper.CloneT8ConfigItem(); if (T8ConfigItemDic == null) { T8ConfigItemDic = new ConcurrentDictionary <string, T8ConfigItemEntity>(); } } }
public void CreateConfig(bool isNewCreate) { if (isNewCreate) { T8ConfigEntity t8ConfigEntity = T8ConfigHelper.T8Config; t8ConfigEntity.PosType = PosType.自定义; t8ConfigEntity.DbFileType = DbFileType.SQLite; t8ConfigEntity.T8ItemContainerDic = new ConcurrentDictionary <DateType, T8ConfigItemContainer>(); t8ConfigEntity.FtpInfo = new FtpInfoEntity { ServerAddress = "ftp://openbook.cn", UserName = "******", UserPassword = "******", ServerDirectory = "upload" }; t8ConfigEntity.DataBaseInfo = new DataBaseInfoEntity { DataBaseTitle = "Sql Server数据库", ServerName = "192.168.0.14", DataBaseName = "T8DataTest", UserName = "******", UserPassword = "******", DataBaseType = DatabaseType.SqlServer }; T8ConfigItemEntity t8ConfigItem = new T8ConfigItemEntity { DateType = DateType.Month, DataType = DataType.SaleData, SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ", }; T8ConfigItemEntity t8ConfigItemOnSale = new T8ConfigItemEntity { DateType = DateType.Month, DataType = DataType.OnShelfData, SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ", }; T8ConfigItemContainer container = new T8ConfigItemContainer(); container.T8ConfigItemSale = t8ConfigItem; container.T8ConfigITemOnShelf = t8ConfigItemOnSale; t8ConfigEntity.T8ItemContainerDic.TryAdd(DateType.Month, container); t8ConfigItem = new T8ConfigItemEntity { DateType = DateType.Week, DataType = DataType.SaleData, SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ", }; t8ConfigItemOnSale = new T8ConfigItemEntity { DateType = DateType.Week, DataType = DataType.OnShelfData, SqlString = "select ISBN AS '书号',Title '书名',PublishName '出版社',Price '定价',KindName '分类',SalesCount '销量',Author '作者',SalesDateTime '销售时间',StoreID '仓号' FROM T8_BookInfo where SalesDateTime >= @StartTime and SalesDateTime <= @EndTime ", }; container = new T8ConfigItemContainer(); container.T8ConfigItemSale = t8ConfigItem; container.T8ConfigITemOnShelf = t8ConfigItemOnSale; t8ConfigEntity.T8ItemContainerDic.TryAdd(DateType.Week, container); T8ConfigHelper.AddT8Config(t8ConfigEntity); } }