Beispiel #1
0
        private void CreateMainTask()
        {
            taskSimpleScheduler = new TaskSimpleScheduler();

            autoResetEvent.Reset();

            taskSimpleScheduler.StartNewTask("模拟业务", () =>
            {
                if (!this.IsStartSimulator)
                {
                    return;
                }

                // 心跳
                dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJSignal>() + " set TagValue=@TagValue where TagName=@TagName", new { TagName = GlobalVars.EquHeartbeatName, TagValue = DateTime.Now.ToString() });
                // 更新采样计划
                dber.Execute("update " + EntityReflectionUtil.GetTableName <EquPDCYJPlan>() + " set DataFlag=1 where DataFlag=0");

                // 控制命令
                EquPDCYJCmd pDCYJCmd = dber.Entity <EquPDCYJCmd>("where DataFlag=0 order by CreateDate desc");
                if (pDCYJCmd != null)
                {
                    CmdHandle(pDCYJCmd);

                    autoResetEvent.WaitOne();
                }

                // 卸样命令
                EquPDCYJUnloadCmd pDCYJUnloadCmd = dber.Entity <EquPDCYJUnloadCmd>("where DataFlag=0 order by CreateDate desc");
                if (pDCYJUnloadCmd != null)
                {
                    CmdHandle(pDCYJUnloadCmd);

                    autoResetEvent.WaitOne();
                }
            }, 3000);
        }