Beispiel #1
0
        public bool RunTask(VcssTaskModel vcssTask)
        {
            VcssTaskCanExecuteResult canExecute = VcssTaskCanExecuteResult.EMPTY;

            try
            {
                VcssTaskManagerService.Log(vcssTask.VcssTaskInfo.name, vcssTask.data, vcssTask.scheduled_time, "Run", "", DateTime.Now);
                canExecute = this.CanExecute(vcssTask);
                if (canExecute == VcssTaskCanExecuteResult.Execute)
                {
                    this.ExecuteTask(vcssTask);
                    this.UpdateTaskExecutedTime(vcssTask);
                    VcssTaskManagerService.DeleteTask(vcssTask);
                    return(true);
                }
                else
                {
                    VcssTaskManagerService.Log(vcssTask.VcssTaskInfo.name, vcssTask.data, vcssTask.scheduled_time, "Running", canExecute.ToString(), DateTime.Now);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                VcssTaskManagerService.Log(vcssTask.VcssTaskInfo.name, "Info -> CanExecute: " + canExecute.ToString() + " -> Data: " + vcssTask.data, vcssTask.scheduled_time, "Run ERROR", ex.Message, DateTime.Now);
                return(false);
            }
        }
Beispiel #2
0
        protected override void ExecuteTask(VcssTaskModel vcssTask)
        {
            string username   = vcssTask.VcssTaskInfo.auth_token.Split('-')[0];
            string password   = vcssTask.VcssTaskInfo.auth_token.Split('-')[1];
            string requestURL = String.Format(vcssTask.VcssTaskInfo.url, username, ComputeHash(password));

            HttpWebRequest  request  = (HttpWebRequest)HttpWebRequest.Create(requestURL);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            using (Stream stream = response.GetResponseStream())
            {
                using (StreamReader reader = new StreamReader(stream))
                {
                    var     strResponse = reader.ReadToEnd();
                    dynamic result      = JsonConvert.DeserializeObject <dynamic>(strResponse);
                    if (result.Estado.ToString() != "Error")
                    {
                        VcssTaskManagerService.UpdateBOLSARAuthToken(result.Resultado.ToString());
                    }
                    else
                    {
                        VcssTaskManagerService.Log(vcssTask.VcssTaskInfo.name, vcssTask.data, vcssTask.scheduled_time, "Running", strResponse, DateTime.Now);
                    }
                }
            }
        }
Beispiel #3
0
        public bool CreateTask(VcssTaskInfoModel vcssTaskInfo, params string[] parameters)
        {
            VcssTaskCanScheduleResult canSchedule = VcssTaskCanScheduleResult.EMPTY;
            string parametersStr = "";

            if (parameters != null)
            {
                foreach (var item in parameters)
                {
                    parametersStr += item + ";";
                }
            }

            try
            {
                VcssTaskManagerService.Log(vcssTaskInfo.name, "Last Updated->", vcssTaskInfo.last_updated, "Create", "", DateTime.Now);
                canSchedule = this.CanSchedule(vcssTaskInfo);
                if (canSchedule == VcssTaskCanScheduleResult.Schedule)
                {
                    this.ScheduleTask(vcssTaskInfo, parameters);
                    return(true);
                }
                else
                {
                    VcssTaskManagerService.Log(vcssTaskInfo.name, "Last Updated-> Params:" + parametersStr, vcssTaskInfo.last_updated, "Creating", canSchedule.ToString(), DateTime.Now);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                VcssTaskManagerService.Log(vcssTaskInfo.name, "Last Updated-> Params:" + parametersStr + " -> CanSchedule: " + canSchedule.ToString(), vcssTaskInfo.last_updated, "Create ERROR", ex.Message, DateTime.Now);
                return(false);
            }
        }