Exemplo n.º 1
0
        public JobResult GetJobResult(JobId id)
        {
            var data = GetJson(id);
            var state = GetJobStateCore(data);
            var date = GetJobDateCore(data);
            var jobInfo = new JobInfo(
                id,
                GetPullRequestInfoCore(id, data),
                state,
                date);

            if (state == JobState.Failed)
            {
                var failureInfo = GetJobFailureInfo(id, data);
                return new JobResult(jobInfo, failureInfo);
            }

            return new JobResult(jobInfo);
        }
Exemplo n.º 2
0
        public void InsertJobInfo(JobInfo jobInfo)
        {
            var id = jobInfo.Id;
            var commandText = @"
                INSERT INTO dbo.Jobs (Id, Name, Sha, State, Date)
                VALUES (@Id, @Name, @Sha, @State, @Date)";
            using (var command = new SqlCommand(commandText, _connection))
            {
                var p = command.Parameters;
                p.AddWithValue("@Id", id.Id);
                p.AddWithValue("@Name", id.Name);
                p.AddWithValue("@Sha", jobInfo.PullRequestInfo.Sha1);
                p.AddWithValue("@State", (int)jobInfo.State);
                p.AddWithValue("@Date", jobInfo.PullRequestInfo.Id);

                try
                {
                    command.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Could not insert {jobInfo}");
                    Console.WriteLine(ex.Message);
                }
            }
        }
Exemplo n.º 3
0
        public void InsertFailure(JobInfo info, JobFailureInfo failureInfo)
        {
            var commandText = @"
                INSERT INTO dbo.Failures (Id, Sha, Reason, Messages)
                VALUES (@Id, @Sha, @Reason, @Messages)";
            using (var command = new SqlCommand(commandText, _connection))
            {
                var p = command.Parameters;
                p.AddWithValue("@Id", GetKey(info.Id));
                p.AddWithValue("@Sha", info.PullRequestInfo.Sha1);
                p.AddWithValue("@Reason", failureInfo.Reason.ToString());
                p.AddWithValue("@Messages", string.Join(";", failureInfo.Messages));

                try
                {
                    command.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Could not insert failure {info.Id}");
                    Console.WriteLine(ex.Message);
                }
            }
        }
Exemplo n.º 4
0
 public JobResult(JobInfo jobInfo, JobFailureInfo failureInfo)
 {
     _jobInfo = jobInfo;
     _failureInfo = failureInfo;
 }
Exemplo n.º 5
0
 public JobResult(JobInfo jobInfo)
 {
     Debug.Assert(jobInfo.State != JobState.Failed);
     _jobInfo = jobInfo;
 }
Exemplo n.º 6
0
        public JobResult GetJobResult(JobId id)
        {
            var data = GetJson(id);
            var state = GetJobStateCore(data);
            var date = GetJobDateCore(data);
            var jobInfo = new JobInfo(
                id,
                state,
                GetSha1Core(data),
                date,
                TimeSpan.FromMilliseconds(data.Value<int>("duration")));

            if (state == JobState.Failed)
            {
                var failureInfo = GetJobFailureInfo(id, data);
                return new JobResult(jobInfo, failureInfo);
            }

            return new JobResult(jobInfo);
        }