コード例 #1
0
ファイル: FrmMain.cs プロジェクト: dmhai/dxpay
        private ScheduleGroupViewModel ToggleStatus(ScheduleGroupViewModel scheduleGroup)
        {
            var jobber = new Jobber();

            jobber.OnAddingScheduleError    += Jobber_OnAddingScheduleError;
            jobber.OnScheduleAddedCompleted += Jobber_OnScheduleAddedCompleted;
            jobber.OnScheduleAdding         += Jobber_OnScheduleAdding;
            switch (scheduleGroup.Status)
            {
            case ScheduleStatus.Pending:
                scheduleGroup.Status = ScheduleStatus.Running;
                GlobalConfig.RUNNIGN_SCHEDULE_GROUP_LIST.Add(scheduleGroup.Code);

                jobber.AddSchedules(new List <jmp_notificaiton_group> {
                    new jmp_notificaiton_group
                    {
                        Code          = scheduleGroup.Code,
                        IntervalUnit  = scheduleGroup.IntervalUnit,
                        IntervalValue = scheduleGroup.IntervalValue,
                        IsDeleted     = scheduleGroup.IsDeleted,
                        IsEnabled     = scheduleGroup.IsEnabled,
                        Name          = scheduleGroup.Name
                    }
                });
                break;

            case ScheduleStatus.Running:
                scheduleGroup.Status = ScheduleStatus.Pending;
                GlobalConfig.RUNNIGN_SCHEDULE_GROUP_LIST.Remove(scheduleGroup.Code);
                jobber.RemoveSchedule(scheduleGroup.Code);
                break;
            }
            return(scheduleGroup);
        }
コード例 #2
0
ファイル: FrmMain.cs プロジェクト: dmhai/dxpay
        private void btnStartAllSchedules_Click(object sender, EventArgs e)
        {
            Init();
            var jobber = new Jobber();

            jobber.OnAddingScheduleError    += Jobber_OnAddingScheduleError;
            jobber.OnScheduleAddedCompleted += Jobber_OnScheduleAddedCompleted;
            jobber.OnScheduleAdding         += Jobber_OnScheduleAdding;
            _scheduleGroupViewModelList.ForEach(x => ToggleStatus(x));
            GlobalConfig.RUNNIGN_SCHEDULE_GROUP_LIST.AddRange(_scheduleGroupViewModelList.Select(x => x.Code));
            jobber.AddSchedules(GlobalConfig.SchedulerGroup);
            dgvSchedulers.Refresh();
        }
コード例 #3
0
ファイル: FrmNoticeMonitor.cs プロジェクト: dmhai/dxpay
        /// <summary>
        /// 开始作业
        /// </summary>
        private void StartJob()
        {
            //通知次数.间隔时间(秒).是否需要删除通知数据;通知次数.间隔时间(秒).是否需要删除通知数据

            /* 0.1.0;1.5.0;2.10.0;3.30.0;4.60.0;5.300.0;6.600.0;7.1800.0;8.3600.1;10.1.1;11.1.1;12.1.1
             */

            if (string.IsNullOrEmpty(GlobalConfig.TASK_CRONS_CONFIG_STRING))
            {
                return;
            }
            LoadNotifyTasksCron();
            UpdateUi(Level.Info, string.Format("正在初始化订单通知任务,共{0}个任务...", _taskCronConfig.TotalTask));
            try
            {
                _jobber.AddSchedules(_taskCronConfig);
            }
            catch (Exception ex)
            {
                UpdateUi(Level.Error, string.Format("创建任务时出错,原因:{0}", ex));
            }
            UpdateUi(Level.Info, string.Format("订单通知任务初始化完成,共{0}个任务.", _taskCronConfig.TotalTask));
        }