Example #1
0
 public TaskEntity(Int64 paraID,
     string paraName,
     bool paraEnable,
     DateTime paraDateStart,
     DateTime paraDateEnd,
     Int64 paraRunSpaceTime,
     TaskFrequence paraRunSpaceType,
     string paraExtraParaStr,
     //string paraExeCommandParaMeter,
     Int64 paraRunTimeOutSecs,
     string paraRegestesAppName
     )
 {
     _ID = paraID;
     _Name = paraName;
     _Enable = paraEnable;
     _DateStart = paraDateStart;
     _DateEnd = paraDateEnd;
     _RunSpaceTime = paraRunSpaceTime;
     _RunSpaceType = paraRunSpaceType;
     _ExtraParaStr = paraExtraParaStr;
     //_ExeCommandParaMeter = paraExeCommandParaMeter;
     _RunTimeOutSecs = paraRunTimeOutSecs;
     _RegestesAppName = paraRegestesAppName;
 }
Example #2
0
        /// <summary>
        /// 添加定时任务
        /// </summary>
        /// <param name="paraName"></param>
        /// <param name="paraDateStart"></param>
        /// <param name="paraDateEnd"></param>
        /// <param name="paraAppName"></param>
        /// <param name="paraRunSpaceTimeSecs">周期数(秒)</param>
        /// <param name="paraRunSpaceType">周期类型(便于存储和下次查看)</param>
        /// <param name="paraExtraStr"></param>
        /// <param name="paraRunTimeOutSecs">执行超时时间,如果不限定,则给-1,如果限定了,在指定时间内未执行完成,则强制结束(exe直接结束进程,dll通过接口通知结束)</param>
        /// <returns></returns>
        public TaskEntity AddTask(string paraName, DateTime paraDateStart, DateTime paraDateEnd, string paraAppName, Int64 paraRunSpaceTimeSecs, TaskFrequence paraRunSpaceType, string paraExtraStr, Int64 paraRunTimeOutSecs)
        {
            try
            {
                TaskAssembly assembly = BLLFactory.GetBllRegistApp().GetRegestedApp(paraAppName);
                if (assembly == null)
                {
                    throw new Exception(string.Format("添加的计划的程序(RegestesAppName){0}尚未在配置文件(RegistedApps.xml)中注册", paraAppName));
                }
                else
                {
                    TaskEntity entity = new TaskEntity();
                    entity.DateEnd = paraDateEnd;
                    entity.DateStart = paraDateStart;
                    entity.Enable = true;
                    entity.ExtraParaStr = paraExtraStr;
                    entity.Name = paraName;
                    entity.RunSpaceTime = paraRunSpaceTimeSecs;
                    entity.RunSpaceType = paraRunSpaceType;
                    entity.RunTimeOutSecs = paraRunTimeOutSecs;
                    entity.RegestesAppName = paraAppName;

                    //先校验,后保存

                    //输入校验
                    MessageParser.CheckAndSetTaskFrequence(ref entity);
                    //保存到数据库
                    Int64 id = _DataAccess.AddTask(entity);

                    if (id >= 0)
                    {//保存成功
                        entity.SetKeyID(id);
                        try
                        {
                            //发送消息同步到任务管理器中
                            string message = MessageParser.BuildMessage(new List<TaskEntity>() { entity }, null, null, null, null, null);
                            this.SendXMLSocket2Server(message);
                            return entity;
                        }
                        catch
                        {
                            this.DelTaskComplet(id);
                            throw;
                        }
                    }
                    else
                    {//未保存成功
                        this.WriteLog(-1, entity.Name, "计划保存到数据库没有成功", LogType.TaskAdd2DBError);
                        throw new Exception("计划保存到数据库没有成功");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
 /// <summary>
 /// 添加定时任务
 /// </summary>
 /// <param name="paraName"></param>
 /// <param name="paraDateStart"></param>
 /// <param name="paraDateEnd"></param>
 /// <param name="paraAppName"></param>
 /// <param name="paraRunSpaceTimeSecs"></param>
 /// <param name="paraRunSpaceType"></param>
 /// <param name="paraExtraStr"></param>
 /// <param name="paraRunTimeOutSecs"></param>
 /// <returns></returns>
 public TaskEntity AddTask(string paraName, DateTime paraDateStart, DateTime paraDateEnd, string paraAppName, Int64 paraRunSpaceTimeSecs, TaskFrequence paraRunSpaceType, string paraExtraStr, Int64 paraRunTimeOutSecs)
 {
     return _BLL.AddTask(paraName,
         paraDateStart,
         paraDateEnd,
         paraAppName,
         paraRunSpaceTimeSecs,
         paraRunSpaceType,
         paraExtraStr,
         paraRunTimeOutSecs);
 }
 /// <summary>
 /// 更新任务
 /// </summary>
 /// <param name="paraTaskID"></param>
 /// <param name="paraName"></param>
 /// <param name="paraDateStart"></param>
 /// <param name="paraDateEnd"></param>
 /// <param name="paraAppName"></param>
 /// <param name="paraRunSpaceTimeSecs"></param>
 /// <param name="paraRunSpaceType"></param>
 /// <param name="paraExtraStr"></param>
 /// <param name="paraRunTimeOutSecs"></param>
 public void UpdateTask(Int64 paraTaskID, string paraName, DateTime paraDateStart, DateTime paraDateEnd, string paraAppName, Int64 paraRunSpaceTimeSecs, TaskFrequence paraRunSpaceType, string paraExtraStr, Int64 paraRunTimeOutSecs)
 {
     _BLL.UpdateTask(paraTaskID,
         paraName,
         paraDateStart,
         paraDateEnd,
         paraAppName,
         paraRunSpaceTimeSecs,
         paraRunSpaceType,
         paraExtraStr, paraRunTimeOutSecs);
 }
Example #5
0
        /// <summary>
        /// 更新任务
        /// </summary>
        /// <param name="paraTaskID"></param>
        /// <param name="paraName"></param>
        /// <param name="paraDateStart"></param>
        /// <param name="paraDateEnd"></param>
        /// <param name="paraAppName"></param>
        /// <param name="paraRunSpaceTimeSecs"></param>
        /// <param name="paraRunSpaceType"></param>
        /// <param name="paraExtraStr"></param>
        /// <param name="paraRunTimeOutSecs"></param>
        /// <returns></returns>
        public void UpdateTask(Int64 paraTaskID, string paraName, DateTime paraDateStart, DateTime paraDateEnd, string paraAppName, Int64 paraRunSpaceTimeSecs, TaskFrequence paraRunSpaceType, string paraExtraStr, Int64 paraRunTimeOutSecs)
        {
            try
            {
                TaskAssembly assembly = BLLFactory.GetBllRegistApp().GetRegestedApp(paraAppName);
                if (assembly == null)
                {
                    throw new Exception(string.Format("更新的计划的程序(RegestesAppName){0}尚未在配置文件(RegistedApps.xml)中注册", paraAppName));
                }
                else
                {
                    TaskEntity entity = new TaskEntity(paraTaskID, paraName, true, paraDateStart, paraDateEnd, paraRunSpaceTimeSecs,
                        paraRunSpaceType, paraExtraStr, paraRunTimeOutSecs, paraAppName);

                    //发送消息同步到任务管理器中
                    string message = MessageParser.BuildMessage(null, null, new List<TaskEntity>() { entity }, null, null, null);
                    //一定要保证先发送,后保存
                    this.SendXMLSocket2Server(message);
                    _DataAccess.ModifyTask(paraTaskID, entity);
                }
            }
            catch
            {
                throw;
            }
        }