コード例 #1
0
        private void StartTimerTask(YZXTask task)
        {
            TimerCallback scannerupdatetimercallback =
                new TimerCallback(task.RunOneTimeInTimer);

            Timers[task.Name] = new Timer(scannerupdatetimercallback, task, 0, task.Tick);
        }
コード例 #2
0
 private void StartWaitForFinishTask(YZXTask task)
 {
     while (!task.RequestStop)
     {
         task.RunOneTimeInTimer();
         Thread.Sleep(50);
     }
 }
コード例 #3
0
        /// <summary>
        /// 配置任务
        /// </summary>
        public void ConfigTasks(YZXCPUProject Project)
        {
            AddGCTask();

            foreach (System.Tuple <YZXTaskTypes, YZXTask> tt in Project.Tasks)
            {
                YZXTask task = tt.Item2;
                if (tt.Item1 == YZXTaskTypes.IronPython)
                {
                    IronPythonTask ipytask = task as IronPythonTask;
                    ipytask.InitR();
                    ConfigIronPythonTask(ipytask);
                }

                Tasks[task.Name] = task;
            }
        }
コード例 #4
0
        public void StartTask(YZXTask task)
        {
            switch (task.RunType)
            {
            case YZXTaskRunType.TIMER:
                StartTimerTask(task);
                break;

            case YZXTaskRunType.WaitForFinish:
                task.InitTask();
                StartWaitForFinishTask(task);
                break;

            case YZXTaskRunType.CONTINUE:
                task.InitTask();
                task.StartThread();
                break;
            }
        }
コード例 #5
0
        public void StartTask(object obj)
        {
            YZXTask task = (YZXTask)obj;

            StartTask(task);
        }
コード例 #6
0
 public void AddTask(YZXTask task)
 {
     Tasks[task.Name] = task;
     task.Id          = Tasks.Count;
 }