public void Dispose() { using (_database) { } _database = null; }
private void OnWork() { while (_isWorking) { try { using (var db = new MaintDbContext()) { foreach (var job in db.SystemJobs.Where(x => x.StartTime < DateTime.Now && x.Status == SystemJobStatus.Init).OrderBy(x => x.StartTime).Take(10).ToList()) { try { job.ExecuteTime = DateTime.Now; var handlerType = Type.GetType(job.HandlerType, true, true); ISystemJobHandler handler = (ISystemJobHandler)JsonConvert.DeserializeObject(job.HandlerData, handlerType); job.Result = handler.Execute(); job.Status = SystemJobStatus.Success; } catch (Exception ex) { ex = ex.Trim(); job.Result = ex.ToString(); job.Status = SystemJobStatus.Error; } db.SaveChanges(); } } } catch (Exception ex) { ex = ex.Trim(); _log.Error(ex); } Thread.Sleep(1000); } }
public MaintDbContextMaintDbRepository(MaintDbContext database) { _database = database; }