private int LoadTasks()
        {
            lock (_taskMonitorList)
            {
                Globals.WriteToDebugFile("TaskMonitor: Loading Tasks");
                int  msToNext = 86400000;                //24h * 60m * 60s * 1000 <- the max wait time is 24h
                Time now      = new Time(DateTime.Now);

                LSTasksConfig tasksCfg = TasksLoader.LoadTasksFromFile();
                _updateRate = tasksCfg.UpdateRate * 1000;
                _positionTools.UseCellLocation = tasksCfg.UseCellLocation;
                List <Task> taskList = tasksCfg.TaskList;

                foreach (Task task in taskList)
                {
                    TasksMonitorTask tmt = new TasksMonitorTask();
                    tmt.task      = task;
                    tmt.msToStart = GetMsToTask(now, task);
                    _taskMonitorList.Add(tmt);
                    if (tmt.msToStart < msToNext)
                    {
                        msToNext = tmt.msToStart.Value;
                    }
                }
                _lastUpdate = now;
                return(msToNext);
            }
        }
Exemple #2
0
        private void LoadTasks()
        {
            _tasksConfig = TasksLoader.LoadTasksFromFile();
            List <Task> taskList = _tasksConfig.TaskList;

            // Set internal identifiers and add panel items for each task
            foreach (Task task in taskList)
            {
                _LastTaskID++;
                task.InternalIdentifier = _LastTaskID;
                AddPanelItemForTask(task);
            }
        }
Exemple #3
0
        /// <summary>
        /// Processes the input program arguments and executes the specified planning task(s).
        /// </summary>
        /// <param name="args">Program input arguments.</param>
        public static void ExecuteFromProgramArguments(string[] args)
        {
            PlanningTasksWithExecutionParameters executionDetails;

            try
            {
                executionDetails = TasksLoader.FromProgramArguments(args);
            }
            catch (TasksLoaderException e)
            {
                Console.WriteLine($"Error while loading input parameters: {e.Message}");
                return;
            }

            Execute(executionDetails.PlanningTasks, executionDetails.Parameters);
        }
Exemple #4
0
 private void SaveTasks()
 {
     TasksLoader.SaveTasksToFile(_tasksConfig);
     _MsgQueueMgr.Write(NotifMessages.NOTIF_SCAN);
 }