예제 #1
0
 void dc_DoneTasksAdded(object sender, TaskArgs e)
 {
     dc.Invoke(() =>
     {
         lbDoneTaskCount.Text = dc.DoneTaskCount.ToString();
     });
 }
예제 #2
0
        public void Start(TaskArgs args)
        {
            var window = args.Invoker as IWindow;

            window.AdoptGhost <ImGuiGhost>();
            Console.WriteLine("ImGuiGhost Adopted");
        }
예제 #3
0
        private TaskArgs FilterAsync(TaskArgs input)
        {
            Thread.CurrentThread.CurrentUICulture = input.CurrentUICulture;

            if (input.FilterTag != null)
            {
                this.Logger.DebugFormat("Filtering on '{0}'", input.FilterTag.Name);

                input.Pictures = (input.FilterTag.Name == Messages.Msg_AllTags)
                    ? this.component.GetLightPictures(input.SelectedPatient)
                    : this.component.GetLightPictures(input.SelectedPatient, input.FilterTag);

                if (input.Pictures.Count > 0)
                {
                    input.SelectedPicture = component.GetPicture(input.Pictures[0]);
                }
                else
                {
                    input.SelectedPicture = null;
                }

                this.Logger.Debug("\tThread finished: Filtered pictures");
                return(input);
            }
            else
            {
                this.Logger.Debug("\tThread finished: Null filter");
                input.Pictures = new List <LightPictureDto>();
                return(input);
            }
        }
예제 #4
0
        public void Start(TaskArgs args)
        {
            ConsoleHelper.WriteEmbeddedColorLine($"Started [green]SDK Console[/green] Task");
            var sdkBase = new SDKBase(_packet);

            sdkBase.Listen();
        }
예제 #5
0
        public void Start(TaskArgs args)
        {
            var provider = _packet.CreateScoped <IWindowProvider>();

            provider.Adopt <MainWindow>();
            provider.Start();
        }
예제 #6
0
 public void Start(TaskArgs args)
 {
     if (!_configurationManager.Contains <EnableFluincyConfiguration>())
     {
         //_configurationManager.Add(new EnableFluincyConfiguration() { EnableFluincyServices })
     }
 }
        /// <summary>
        /// 任务添加事件
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="e">E.</param>
        private void OnWorkTasksAdded(object sender, TaskArgs e)
        {
            string msg = string.Format("Task:{0} added.\r\n", e.Task.Id.ToString());

            dc.Invoke(() => {
                this.View.SetViewLog(msg);
            });
        }
예제 #8
0
        void dc_AllTasksAdded(object sender, TaskArgs e)
        {
            //var context = dc.GetContext();

            dc.Invoke(() =>
            {
                lbAllTaskCount.Text = dc.AllTaskCount.ToString();
                lbTaskMax.Text      = dc.TaskMax.ToString();
            });
        }
예제 #9
0
        public void Start(TaskArgs args)
        {
            var proc = Process.GetCurrentProcess();

            while (true)
            {
                Console.Title = $"Fluint MEM: {proc.WorkingSet64 / (1024 * 1024)}MBs";

                Thread.Sleep(1000);
            }
        }
예제 #10
0
        void dc_WorkTasksAdded(object sender, TaskArgs e)
        {
            //var context = dc.GetContext();

            dc.Invoke(() =>
            {
                textBox1.AppendText("Task: " + e.Task.Id.ToString() + " added.");
                textBox1.AppendText(Environment.NewLine);
                lbWorkTaskCount.Text = dc.WorkTaskCount.ToString();
            });
        }
예제 #11
0
        private int _fps;            // the FPS calculated from the last measurement

        public void Start(TaskArgs args)
        {
            var window = args.Invoker as IWindow;

            _framesRendered++;

            if ((DateTime.Now - _lastTime).TotalSeconds >= 1)
            {
                // one second has elapsed

                _fps            = _framesRendered;
                _framesRendered = 0;
                _lastTime       = DateTime.Now;
            }
            window.Title = $"Fluint FPS: {_fps}";
        }
예제 #12
0
                public TaskArgs DeepCopy()
                {
                    var tmp0 = new TaskArgs();

                    if ((Foo != null) && __isset.foo)
                    {
                        tmp0.Foo = (global::Thrift5320.structs.Task) this.Foo.DeepCopy();
                    }
                    tmp0.__isset.foo = this.__isset.foo;
                    if (__isset.bar)
                    {
                        tmp0.Bar = this.Bar;
                    }
                    tmp0.__isset.bar = this.__isset.bar;
                    return(tmp0);
                }
예제 #13
0
        private void Filter()
        {
            var context = TaskScheduler.FromCurrentSynchronizationContext();
            var token   = new CancellationTokenSource().Token;
            var input   = new TaskArgs()
            {
                SelectedPatient = PluginContext.Host.SelectedPatient,
                FilterTag       = this.FilterTag,
            };

            this.IsBusy = true;
            var task = Task.Factory.StartNew <TaskArgs>(e => this.FilterAsync(e as TaskArgs), input);

            task.ContinueWith(e => this.FilterCallback(e), token, TaskContinuationOptions.OnlyOnRanToCompletion, context);
            task.ContinueWith(e => this.Handle.Error(e.Exception), token, TaskContinuationOptions.OnlyOnFaulted, context);
        }
예제 #14
0
        private TaskArgs FilterAsync(TaskArgs input)
        {
            Thread.CurrentThread.CurrentUICulture = input.CurrentUICulture;

            if (input.FilterTag != null)
            {

                this.Logger.DebugFormat("Filtering on '{0}'", input.FilterTag.Name);

                input.Pictures = (input.FilterTag.Name == Messages.Msg_AllTags)
                    ? this.component.GetLightPictures(input.SelectedPatient)
                    : this.component.GetLightPictures(input.SelectedPatient, input.FilterTag);

                if (input.Pictures.Count > 0)
                {
                    input.SelectedPicture = component.GetPicture(input.Pictures[0]);
                }
                else { input.SelectedPicture = null; }

                this.Logger.Debug("\tThread finished: Filtered pictures");
                return input;
            }
            else
            {
                this.Logger.Debug("\tThread finished: Null filter");
                input.Pictures = new List<LightPictureDto>();
                return input;
            }
        }
예제 #15
0
        static void Main(string[] args)
        {
            // Считаем количество потоков из CustomConfig.
            int threadCount = DataManager.GetThreadCountFromConfig(
                Environment.CurrentDirectory.ToString() + @"\AppConfigure\customConfig.txt");

            // Параллельно считываем input файл.
            people = DataManager.ReadInputFileAsParallel();

            // Запускаем потоки для обработки списка записей и записи в бд.
            List <Task> tasks = new List <Task>();

            // Разделяем записи по потокам.
            int integerPart   = people.Count / threadCount;
            int remainderPart = people.Count % threadCount;

            Console.WriteLine("Директория файла с логами: " +
                              Environment.CurrentDirectory.ToString() + @"\DataManagement\OutputData");
            Console.WriteLine($"Количество людей: {people.Count}");
            Console.WriteLine($"Разделение людей по группам: ");

            for (int i = 0; i < threadCount; i++)
            {
                TaskArgs arg = new TaskArgs()
                {
                    From = integerPart * i,
                    To   = integerPart * i + integerPart - 1
                };

                Console.WriteLine($"from {arg.From} to {arg.To}");
                // Все оставшиеся строки отдаем в последний поток.
                if (i == threadCount - 1)
                {
                    arg.To = integerPart * i + integerPart - 1 + remainderPart;
                }

                // Записываем данные в таблицу бд.
                var task = new TaskFactory().StartNew(new Action(() =>
                {
                    Parallel.For(arg.From, arg.To + 1, count =>
                    {
                        var db     = new DbWriter();
                        string log = string.Empty;
                        db.WriteToDbRow(people[count], ref log);

                        // Логирование.
                        DataManager.Log(DataManager.Logger.Console, log);
                        DataManager.Log(DataManager.Logger.File, log);
                    });
                }));
            }

            // Выход из приложения по ESC оставим в главном потоке.
            ConsoleKeyInfo cki;

            do
            {
                cki = Console.ReadKey();
            } while (cki.Key != ConsoleKey.Escape);

            // Закрытие всех потоков.
            Environment.Exit(Environment.ExitCode);
        }
예제 #16
0
 //追踪列表随任务发生变化
 public void InitTaskList(TaskItem sender, TaskArgs e)
 {
     SetTaskTrackerShow();
 }
예제 #17
0
        private void MainFrm_Load(object sender, EventArgs e)
        {
            //版本号
            this.Text    = String.Format("串口升级工具 V{0}", AssemblyFileVersion());
            mTaskParam   = new TaskParameters();
            mSerialParam = new SerialPortParameter();
            mPcuItem     = new ListViewItem();
            mPcuItem.UseItemStyleForSubItems = false;
            mCcuItem = new ListViewItem();
            mCcuItem.UseItemStyleForSubItems = false;
            //加载配置文件
            LoadSetting();
            mTaskManager = new TaskManager(mTaskParam);
            //设置参数
            ccuProgressBar.Value                = 0;
            ccuProgressBar.Maximum              = 100;
            pcuProgressBar.Value                = 0;
            pcuProgressBar.Maximum              = 100;
            mTaskManager.ccuProgressBarHandler += (object _sender, EventArgs _e) =>
            {
                ProgressArgs mArgs = _e as ProgressArgs;
                if (mArgs != null)
                {
                    UpdateCcuProgressBar(mArgs.percentage);
                }
            };
            mTaskManager.pcuProgressBarHandler += (object _sender, EventArgs _e) =>
            {
                ProgressArgs mArgs = _e as ProgressArgs;
                if (mArgs != null)
                {
                    UpdatePcuProgressBar(mArgs.percentage);
                }
            };
            mTaskManager.ccuListViewItemHandler += (object _sender, EventArgs _e) =>
            {
                TaskArgs mArgs = _e as TaskArgs;
                if (mArgs != null)
                {
                    UpdateCcuItems(mArgs.msg, mArgs.level);
                }
            };

            mTaskManager.pcuListViewItemHandler += (object _sender, EventArgs _e) =>
            {
                TaskArgs mArgs = _e as TaskArgs;
                if (mArgs != null)
                {
                    UpdatePcuItems(mArgs.msg, mArgs.level);
                }
            };

            CcuTimeCounts              = 0;
            CcuTestTimeTicker          = new System.Timers.Timer(1000);
            CcuTestTimeTicker.Enabled  = false;
            CcuTestTimeTicker.Elapsed += new ElapsedEventHandler((object source, ElapsedEventArgs ElapsedEventArgs) =>
            {
                CcuTimeCounts++;
                SetTimeTicker(Devices.CCU, CcuTimeCounts);
            });

            PcuTimeCounts              = 0;
            PcuTestTimeTicker          = new System.Timers.Timer(1000);
            PcuTestTimeTicker.Enabled  = false;
            PcuTestTimeTicker.Elapsed += new ElapsedEventHandler((object source, ElapsedEventArgs ElapsedEventArgs) =>
            {
                PcuTimeCounts++;
                SetTimeTicker(Devices.PCU, PcuTimeCounts);
            });

            string msg = String.Format("当前串口:{0} ",
                                       Const.COM_PORT);

            UpdateStatusBar(0, msg, "");

            this.toolStripBtn_Stop.Enabled = false;
        }
예제 #18
0
 public virtual void Process(TaskArgs args)
 {
 }
예제 #19
0
 private void Filter()
 {
     var context = TaskScheduler.FromCurrentSynchronizationContext();
     var token = new CancellationTokenSource().Token;
     var input = new TaskArgs()
     {
         SelectedPatient = PluginContext.Host.SelectedPatient,
         FilterTag = this.FilterTag,
     };
     this.IsBusy = true;
     var task = Task.Factory.StartNew<TaskArgs>(e => this.FilterAsync(e as TaskArgs), input);
     task.ContinueWith(e => this.FilterCallback(e), token, TaskContinuationOptions.OnlyOnRanToCompletion, context);
     task.ContinueWith(e => this.Handle.Error(e.Exception), token, TaskContinuationOptions.OnlyOnFaulted, context);
 }
예제 #20
0
 private void ElapseEvent(TaskArgs<int> taskArgs, int time)
 {
     _animations.Elapse(time);
 }
예제 #21
0
            void Process <T>(TaskArgs args) where T : TaskBody
            {
                T Task = m_Data as T;

                Task?.Process(args);
            }
예제 #22
0
        private static string Handler(TaskArgs args)
        {
            var r = new Random(unchecked((int)DateTime.Now.Ticks));
            var s = r.Next(1000, 5000);
            _log.Debug(String.Format("任务,{0}.start", args.Name));
            _log.Debug(String.Format("任务,{0}.sleep,{1}", args.Name, s.ToString()));
            //5秒
            Thread.Sleep(s);
            _log.Debug(String.Format("任务,{0}.end", args.Name));

            //if (args.Name == "4")
            //{
            //    throw new NullReferenceException("错误了抛个异常");
            //}


            return args.Name;
        }
예제 #23
0
 public override void Process(TaskArgs args)
 {
 }
예제 #24
0
        private void ElapseEvent(TaskArgs<int> taskArgs, int time)
        {
            var requiredRefresh = false;
            requiredRefresh |= _model.ChipAnimations.Elapse(time);
            requiredRefresh |= _model.ScreenAnimations.Elapse(time);
            if (requiredRefresh)
                _mapPanel.Invalidate(false);

            var unit = _model.Situation.ActiveUnit;
            if (unit != null)
                _mapPanel.Invalidate(new Rectangle(ChipPoint2PixelPoint(unit.Location), WarGlobal.ChipSize));
        }
예제 #25
0
 public void Start(TaskArgs args)
 {
     ConsoleHelper.WriteEmbeddedColorLine($"Started [blue]OpenGL46[/blue] Engine Task");
     ConsoleHelper.WriteEmbeddedColorLine($"Running [magenta]OpenGL {GL.GetString(StringName.Version)}[/magenta] Shader: [yellow]{GL.GetString(StringName.ShadingLanguageVersion)}[/yellow]");
     Debug.EnableOGLDebugSystem();
 }
예제 #26
0
        public void Invoke(TaskSchedule schedule, TaskArgs args)
        {
            switch (schedule)
            {
            case TaskSchedule.Startup:
                foreach (var item in _startupTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.Background:
                foreach (var item in _backgroundTasks)
                {
                    new Thread(() => item.Start(args)).Start();
                }
                break;

            case TaskSchedule.WindowReady:
                foreach (var item in _windowReadyTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.WindowUpdate:
                foreach (var item in _windowUpdateTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.WindowRender:
                foreach (var item in _windowRenderTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.WindowDisposing:
                foreach (var item in _windowDisposingTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.WindowEnterText:
                foreach (var item in _windowEnterTextTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.WindowMouseScroll:
                foreach (var item in _windowScrollTasks)
                {
                    item.Start(args);
                }
                break;

            case TaskSchedule.WindowResize:
                foreach (var item in _windowResizeTasks)
                {
                    item.Start(args);
                }
                break;

            default:
                throw new NotImplementedException("Couldn't find schedule.");
            }
        }