Exemplo n.º 1
0
        public IEnumerable<JobInstance> FindJobInstances(Guid userGuid, Guid queueInstanceGuid, HashSet<Guid> jobDefinitionGuids, JobExecutionState jobExecutionStatus)
        {
            string sql = "spFindJobInstance_byDetails";

            using (SqlCommand cmd = Context.CreateStoredProcedureCommand(sql))
            {
                cmd.Parameters.Add("@UserGuid", SqlDbType.UniqueIdentifier).Value = Context.UserGuid;
                cmd.Parameters.Add("@ShowHidden", SqlDbType.Bit).Value = Context.ShowHidden;
                cmd.Parameters.Add("@ShowDeleted", SqlDbType.Bit).Value = Context.ShowDeleted;
                cmd.Parameters.Add("@From", SqlDbType.Int).Value = DBNull.Value;
                cmd.Parameters.Add("@Max", SqlDbType.Int).Value = DBNull.Value;
                cmd.Parameters.Add("@RowCount", SqlDbType.Int).Direction = ParameterDirection.Output;

                cmd.Parameters.Add("@JobUserGuid", SqlDbType.UniqueIdentifier).Value = userGuid == Guid.Empty ? DBNull.Value : (object)userGuid;
                cmd.Parameters.Add("@QueueInstanceGuid", SqlDbType.UniqueIdentifier).Value = queueInstanceGuid == Guid.Empty ? DBNull.Value : (object)queueInstanceGuid;
                cmd.Parameters.Add("@JobDefinitionGuids", SqlDbType.Structured).Value = CreateGuidListTable(jobDefinitionGuids);
                cmd.Parameters.Add("@JobExecutionStatus", SqlDbType.Int).Value = jobExecutionStatus;

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        JobInstance item = new JobInstance(Context);
                        item.LoadFromDataReader(dr);
                        yield return item;
                    }
                    dr.Close();
                }
            }
        }
 private void InitializeMembers()
 {
     this.userGuid           = Guid.Empty;
     this.queueInstanceGuid  = Guid.Empty;
     this.jobDefinitionGuids = new HashSet <Guid>();
     this.jobExecutionStatus = JobExecutionState.All;
 }
Exemplo n.º 3
0
 public ReportJobState(Guid jobId, string jobType, JobExecutionState result, string error, DateTime startTime, DateTime?endTime, JobDetails details = null)
 {
     JobId     = jobId;
     JobType   = jobType;
     Result    = result;
     Error     = error;
     StartTime = startTime;
     EndTime   = endTime;
     Details   = details;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Creates a deep copy of the passed object.
 /// </summary>
 /// <param name="old">A <b>Database Definition</b> object to create the deep copy from.</param>
 private void CopyMembers(JobInstance old)
 {
     this.workflowTypeName   = old.workflowTypeName;
     this.dateStarted        = old.dateStarted;
     this.dateFinished       = old.dateFinished;
     this.jobExecutionStatus = old.jobExecutionStatus;
     this.suspendTimeout     = old.suspendTimeout;
     this.scheduleType       = old.scheduleType;
     this.scheduleTime       = old.scheduleTime;
     this.recurringPeriod    = old.recurringPeriod;
     this.recurringInterval  = old.recurringInterval;
     this.recurringMask      = old.recurringMask;
     this.workflowInstanceId = old.workflowInstanceId;
     this.adminRequestTime   = old.adminRequestTime;
     this.adminRequestData   = old.adminRequestData == null ? null : new JobAdminRequestData(old.adminRequestData);
     this.adminRequestResult = old.adminRequestResult;
     this.exceptionMessage   = old.exceptionMessage;
     this.parameters         = new ParameterCollection(old.parameters);
 }
Exemplo n.º 5
0
 private void InitializeMembers(StreamingContext context)
 {
     this.workflowTypeName   = string.Empty;
     this.dateStarted        = DateTime.MinValue;
     this.dateFinished       = DateTime.MinValue;
     this.jobExecutionStatus = JobExecutionState.Unknown;
     this.suspendTimeout     = DateTime.MinValue;
     this.scheduleType       = ScheduleType.Unknown;
     this.scheduleTime       = DateTime.MinValue;
     this.recurringPeriod    = RecurringPeriod.Unknown;
     this.recurringInterval  = 0;
     this.recurringMask      = 0;
     this.workflowInstanceId = Guid.Empty;
     this.adminRequestTime   = DateTime.MinValue;
     this.adminRequestData   = null;
     this.adminRequestResult = -1;
     this.exceptionMessage   = null;
     this.parameters         = new ParameterCollection();
 }
Exemplo n.º 6
0
 private void InitializeMembers()
 {
     this.status = JobExecutionState.Unknown;
 }
Exemplo n.º 7
0
        /// <summary>
        /// Initializes member variables to their initial values.
        /// </summary>
        /// <remarks>
        /// This function is called by the contructors.
        /// </remarks>
        private void InitializeMembers()
        {
            base.EntityType = EntityType.JobInstance;
            base.EntityGroup = EntityGroup.Jobs;

            this.workflowTypeName = string.Empty;
            this.dateStarted = DateTime.MinValue;
            this.dateFinished = DateTime.MinValue;
            this.jobExecutionStatus = JobExecutionState.Unknown;
            this.suspendTimeout = DateTime.MinValue;
            this.scheduleType = ScheduleType.Unknown;
            this.scheduleTime = DateTime.MinValue;
            this.recurringPeriod = RecurringPeriod.Unknown;
            this.recurringInterval = 0;
            this.recurringMask = 0;
            this.workflowInstanceId = Guid.Empty;
            this.adminRequestTime = DateTime.MinValue;
            this.adminRequestData = null;
            this.adminRequestResult = -1;
            this.exceptionMessage = null;

            this.parameters = new Dictionary<string, JobParameter>();
            this.checkpoints = new List<JobCheckpoint>();
        }
Exemplo n.º 8
0
        /// <summary>
        /// Creates a deep copy of the passed object.
        /// </summary>
        /// <param name="old">A <b>Database Definition</b> object to create the deep copy from.</param>
        private void CopyMembers(JobInstance old)
        {
            this.workflowTypeName = old.workflowTypeName;
            this.dateStarted = old.dateStarted;
            this.dateFinished = old.dateFinished;
            this.jobExecutionStatus = old.jobExecutionStatus;
            this.suspendTimeout = old.suspendTimeout;
            this.scheduleType = old.scheduleType;
            this.scheduleTime = old.scheduleTime;
            this.recurringPeriod = old.recurringPeriod;
            this.recurringInterval = old.recurringInterval;
            this.recurringMask = old.recurringMask;
            this.workflowInstanceId = old.workflowInstanceId;
            this.adminRequestTime = old.adminRequestTime;
            this.adminRequestData = old.adminRequestData == null ? null : new JobAdminRequestData(old.adminRequestData);
            this.adminRequestResult = old.adminRequestResult;
            this.exceptionMessage = old.exceptionMessage;

            // TODO: do deep copy here?
            this.parameters = new Dictionary<string, JobParameter>(old.parameters);
            this.checkpoints = new List<JobCheckpoint>(old.checkpoints);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Sets a single job instance checkpoint's identified by its name.
        /// </summary>
        /// <param name="name">Name of the checkpoint.</param>
        /// <param name="executionStatus">Execution status of the checkpoint.</param>
        /// <remarks>
        /// This function is called by the <b>Jhu.Graywulf.Workflow.Activities.CheckpointActivity</b>
        /// to record the sequential provenance information of the executing job.
        /// </remarks>
        public void SetCheckpoint(string name, JobExecutionState executionStatus)
        {
            string sql = "spSetJobInstanceCheckpoint";

            using (SqlCommand cmd = Context.CreateStoredProcedureCommand(sql))
            {
                cmd.Parameters.Add("@UserGuid", SqlDbType.UniqueIdentifier).Value = Context.UserGuid;
                cmd.Parameters.Add("@JobInstanceGuid", SqlDbType.UniqueIdentifier).Value = Guid;
                cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 128).Value = name;
                cmd.Parameters.Add("@ExecutionStatus", SqlDbType.Int).Value = executionStatus;

                cmd.ExecuteNonQuery();
            }

            // Write log entry
            Jhu.Graywulf.Logging.Event e = new Jhu.Graywulf.Logging.Event("Jhu.Graywulf.Registry.JobInstance.SetCheckpoint", this.Guid);
            e.UserData.Add("Name", name);
            e.UserData.Add("ExecutionStatus", executionStatus.ToString());
            Context.LogEvent(e);
        }
Exemplo n.º 10
0
 /// <summary>
 /// Initializes private members to their default values.
 /// </summary>
 private void InitializeMembers()
 {
     this.sequenceNumber = -1;
     this.name = string.Empty;
     this.executionStatus = JobExecutionState.Unknown;
 }
Exemplo n.º 11
0
 private void InitializeMembers()
 {
     this.status = JobExecutionState.Unknown;
 }
Exemplo n.º 12
0
        public IEnumerable <JobInstance> FindJobInstances(Guid userGuid, Guid queueInstanceGuid, HashSet <Guid> jobDefinitionGuids, JobExecutionState jobExecutionStatus)
        {
            string sql = "spFindJobInstance_byDetails";

            using (SqlCommand cmd = Context.CreateStoredProcedureCommand(sql))
            {
                cmd.Parameters.Add("@UserGuid", SqlDbType.UniqueIdentifier).Value = Context.UserGuid;
                cmd.Parameters.Add("@ShowHidden", SqlDbType.Bit).Value            = Context.ShowHidden;
                cmd.Parameters.Add("@ShowDeleted", SqlDbType.Bit).Value           = Context.ShowDeleted;
                cmd.Parameters.Add("@From", SqlDbType.Int).Value         = DBNull.Value;
                cmd.Parameters.Add("@Max", SqlDbType.Int).Value          = DBNull.Value;
                cmd.Parameters.Add("@RowCount", SqlDbType.Int).Direction = ParameterDirection.Output;

                cmd.Parameters.Add("@JobUserGuid", SqlDbType.UniqueIdentifier).Value       = userGuid == Guid.Empty ? DBNull.Value : (object)userGuid;
                cmd.Parameters.Add("@QueueInstanceGuid", SqlDbType.UniqueIdentifier).Value = queueInstanceGuid == Guid.Empty ? DBNull.Value : (object)queueInstanceGuid;
                cmd.Parameters.Add("@JobDefinitionGuids", SqlDbType.Structured).Value      = CreateGuidListTable(jobDefinitionGuids);
                cmd.Parameters.Add("@JobExecutionStatus", SqlDbType.Int).Value             = jobExecutionStatus;

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        JobInstance item = new JobInstance(Context);
                        item.LoadFromDataReader(dr);
                        yield return(item);
                    }
                    dr.Close();
                }
            }
        }
Exemplo n.º 13
0
 private void InitializeMembers()
 {
     this.userGuid = Guid.Empty;
     this.queueInstanceGuid = Guid.Empty;
     this.jobDefinitionGuids = new HashSet<Guid>();
     this.jobExecutionStatus = Registry.JobExecutionState.All;
 }