コード例 #1
0
        /// <inheritdoc />
        protected override void Start(string[] args)
        {
            //加入到时间定时器
            _taskList.ForEach(task =>
            {
                switch (task.TimeType)
                {
                case EumTimeType.Timing:
                    if (task.Week == null)
                    {
                        TimingTasks.Timing(t => StartWork(task.Tasks), task.Day, task.Hour, task.Minute, task.Second);
                    }
                    else
                    {
                        TimingTasks.Timing(t => StartWork(task.Tasks), task.Week.GetValueOrDefault(), task.Hour, task.Minute, task.Second);
                    }
                    break;

                case EumTimeType.Interval:
                    {
                        TimingTasks.Interval(t => StartWork(task.Tasks), task.Day, task.Hour, task.Minute, task.Second, task.Millisecond); break;
                    }
                }
            });
        }
コード例 #2
0
ファイル: BaseService.cs プロジェクト: xiaopohou/Farseer.Net
        /// <summary>服务主函数</summary>
        public static void ServerMain()
        {
            //提升进程优先级
            Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;

            //每10秒钟检测一下服务状态。
            TimingTasks.Interval(o => ChecState(_isAutoStartServer), 10, 0);
            // 当前进程运行时的参数
            var args = Environment.GetCommandLineArgs();

            if (args.Length > 1)
            {
                Instance.Receive(args[1]);
            }
            else
            {
                Console.Title = Instance.DisplayName;
                Instance.ShowStatus();
                Instance.Receive();
            }
        }
コード例 #3
0
 /// <summary>服务停止事件</summary>
 protected override void OnStop()
 {
     _taskList.Clear();
     TimingTasks.Clear();
 }