public List <JobExecutionStatistics> GetByName(string jobName) { var jobStatsList = new List <JobExecutionStatistics>(); string query = "select * from [SchedulerMonitoring].[dbo].[JobExecutionStatistics] where Name=@jobName"; using (SqlConnection cn = new SqlConnection(_connectionString)) using (SqlCommand cmd = new SqlCommand(query, cn)) { cn.Open(); cmd.Parameters.Add("@jobName", SqlDbType.VarChar, 50).Value = jobName; var reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { var stats = new JobExecutionStatistics { Name = reader["Name"].ToString(), StartTime = Convert.ToDateTime(reader["StartTime"].ToString()), EndTime = Convert.ToDateTime(reader["EndTime"].ToString()), RunTime = Int32.Parse(reader["RunTime"].ToString()), ScheduledInterval = Int32.Parse(reader["ScheduledInterval"].ToString()) }; jobStatsList.Add(stats); } } cn.Close(); } return(jobStatsList); }
public List <JobExecutionStatistics> Get() { var jobStatsList = new List <JobExecutionStatistics>(); string query = "SELECT * FROM dbo.JobExecutionStatistics"; using (SqlConnection cn = new SqlConnection(_connectionString)) using (SqlCommand cmd = new SqlCommand(query, cn)) { cn.Open(); var reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { var stats = new JobExecutionStatistics { Name = reader["Name"].ToString(), StartTime = Convert.ToDateTime(reader["StartTime"].ToString()), EndTime = Convert.ToDateTime(reader["EndTime"].ToString()), RunTime = Int32.Parse(reader["RunTime"].ToString()), ScheduledInterval = Int32.Parse(reader["ScheduledInterval"].ToString()) }; jobStatsList.Add(stats); } } cn.Close(); } return(jobStatsList); }
public Task JobWasExecuted(IJobExecutionContext context, JobExecutionException jobException, CancellationToken cancellationToken = default(CancellationToken)) { var trg = context.Trigger as ISimpleTrigger; var stats = new JobExecutionStatistics { Name = context.JobDetail.Key.Name, StartTime = context.FireTimeUtc.DateTime, EndTime = context.FireTimeUtc.DateTime.AddSeconds(context.JobRunTime.TotalSeconds), RunTime = Convert.ToInt32(context.JobRunTime.TotalSeconds), ScheduledInterval = Convert.ToInt32(trg.RepeatInterval.TotalSeconds) }; repository.Insert(stats); return(Task.CompletedTask); }
public void Insert(JobExecutionStatistics stats) { string query = "INSERT INTO dbo.JobExecutionStatistics (Name, StartTime, EndTime, RunTime, ScheduledInterval) " + "VALUES(@name, @startTime, @endTime, @runTime, @scheduledInterval)"; using (SqlConnection cn = new SqlConnection(_connectionString)) using (SqlCommand cmd = new SqlCommand(query, cn)) { cmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = stats.Name; cmd.Parameters.Add("@startTime", SqlDbType.DateTime).Value = stats.StartTime; cmd.Parameters.Add("@endTime", SqlDbType.DateTime).Value = stats.EndTime; cmd.Parameters.Add("@runTime", SqlDbType.Int).Value = stats.RunTime; cmd.Parameters.Add("@scheduledInterval", SqlDbType.Int).Value = stats.ScheduledInterval; cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); } }