private Calendar calExpiredTime() { Calendar calendar = Calendar.getInstance(); calendar.setTime(DateUtils.addHours(new Date(), portalConfig.survivalDuration())); return calendar; }
static Date getDateFromHours(Configuration config, String propertyKey) { int hours = config.getInt(propertyKey).get(); return DateUtils.addHours(new Date(), -hours); }
/** * Convert date to String like "yyyy-MM-dd HH". */ public static String getCurrentDateTimeHours(int num) { return new SimpleDateFormat(DATETIME_FORMAT_HOURS).format(DateUtils.addHours(new Date(), num)); }
/** * Convert date to String like "yyyy-MM-dd HH:mm". */ public static String getCurrentDateTime() { return new SimpleDateFormat(DATETIME_FORMAT).format(DateUtils.addHours(new Date(), DATE_NUM)); }
/** * Convert date to String like "yyyy-MM-dd HH:mm:ss". */ public static String getCurrentLongDateTime() { return new SimpleDateFormat(LONG_DATETIME_FORMAT).format(DateUtils.addHours(new Date(), DATE_NUM)); }
/** * 返回当前系统时间(字符串格式:yyyy-MM-dd HH:mm:ss) * * @return String */ public static String getDateTime() { Date d = DateUtils.addHours(new Date(), DATE_NUM); SimpleDateFormat sdfreplay = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String replytime = sdfreplay.format(d); return replytime; }
/** * Convert date to String like "yyyy-MM-dd". */ public static String getCurrentDate() { return new SimpleDateFormat(DATE_FORMAT).format(DateUtils.addHours(new Date(), DATE_NUM)); }
static Date getDateFromHours(Settings settings, String propertyKey) { int hours = settings.getInt(propertyKey); return DateUtils.addHours(new Date(), -hours); }
public Date diff(Integer i) { return DateUtils.addHours(AbstractDateParamFilter.this.clock.current(), i.intValue()); }
public QueryMetricsSummaryHtmlResponse processQueryMetricsHtmlSummary(List<T> queryMetrics) throws IOException { QueryMetricsSummaryHtmlResponse summary = new QueryMetricsSummaryHtmlResponse(); Date now = new Date(); Date hour1 = DateUtils.addHours(now, -1); Date hour6 = DateUtils.addHours(now, -6); Date hour12 = DateUtils.addHours(now, -12); Date day1 = DateUtils.addDays(now, -1); Date day7 = DateUtils.addDays(now, -7); Date day30 = DateUtils.addDays(now, -30); Date day60 = DateUtils.addDays(now, -60); Date day90 = DateUtils.addDays(now, -90); for (T metric : queryMetrics) { try { binSummary(metric, summary, hour1, hour6, hour12, day1, day7, day30, day60, day90); } catch (Exception e1) { log.error(e1.getMessage()); } } return summary; }
public QueryMetricsSummaryResponse processQueryMetricsSummary(List<T> queryMetrics) throws IOException { QueryMetricsSummaryResponse summary = new QueryMetricsSummaryResponse(); Date now = new Date(); Date hour1 = DateUtils.addHours(now, -1); Date hour6 = DateUtils.addHours(now, -6); Date hour12 = DateUtils.addHours(now, -12); Date day1 = DateUtils.addDays(now, -1); Date day7 = DateUtils.addDays(now, -7); Date day30 = DateUtils.addDays(now, -30); Date day60 = DateUtils.addDays(now, -60); Date day90 = DateUtils.addDays(now, -90); for (T metric : queryMetrics) { try { binSummary(metric, summary, hour1, hour6, hour12, day1, day7, day30, day60, day90); } catch (Exception e1) { log.error(e1.getMessage()); } } return summary; }
@Test public void testHistoryCleanupWithinBatchWindow() { //given prepareData(15); //we're within batch window Date now = new Date(); ClockUtil.setCurrentTime(now); processEngineConfiguration.setHistoryCleanupBatchWindowStartTime(new SimpleDateFormat("HH:mm").format(now)); processEngineConfiguration.setHistoryCleanupBatchWindowEndTime(new SimpleDateFormat("HH:mm").format(DateUtils.addHours(now, HISTORY_TIME_TO_LIVE))); processEngineConfiguration.initHistoryCleanup(); //when runHistoryCleanup(); //then assertResult(0); }
@Test public void testManualRunDoesNotRespectBatchWindow() { //given //we have something to cleanup int processInstanceCount = 40; prepareData(processInstanceCount); //we call history cleanup outside batch window Date now = new Date(); ClockUtil.setCurrentTime(now); processEngineConfiguration.setHistoryCleanupBatchWindowStartTime(new SimpleDateFormat("HH:mm").format(DateUtils.addHours(now, 1))); //now + 1 hour processEngineConfiguration.setHistoryCleanupBatchWindowEndTime(new SimpleDateFormat("HH:mm").format(DateUtils.addHours(now, HISTORY_TIME_TO_LIVE))); //now + 5 hours processEngineConfiguration.initHistoryCleanup(); //when //job is executed before batch window start runHistoryCleanup(true); //the job is called for the second time after batch window end ClockUtil.setCurrentTime(DateUtils.addHours(now, 6)); //now + 6 hours for (Job job : historyService.findHistoryCleanupJobs()) { managementService.executeJob(job.getId()); } //then assertResult(0); }
@Override public Object execute(CommandContext commandContext) { final JobEntity job = commandContext.getJobManager().findJobById(jobId); job.setLockOwner("someLockOwner"); job.setLockExpirationTime(DateUtils.addHours(ClockUtil.getCurrentTime(), 1)); return null; } });
public void tesAbandonedFailed() throws Exception { Date start = DateUtils.addMonths(new Date(), -1); Date end = DateUtils.addHours(new Date(), 4); // 4 hrs Date createdTime = start; final CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 5); addRecordToCoordActionTable(job1.getId(), 5, CoordinatorAction.Status.FAILED); final CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 4); addRecordToCoordActionTable(job2.getId(), 4, CoordinatorAction.Status.FAILED); ExtendedAbandonedCoordCheckerRunnable coordChecked = new ExtendedAbandonedCoordCheckerRunnable(5); coordChecked.run(); String msg = coordChecked.getMessage(); assertTrue(msg.contains(job1.getId())); assertFalse(msg.contains(job2.getId())); }
public void testMessage_withTimedout() throws Exception { Date start = DateUtils.addMonths(new Date(), -1); Date end = DateUtils.addHours(new Date(), 4); // 4 hrs Date createdTime = start; final CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 12); addRecordToCoordActionTable(job1.getId(), 12, CoordinatorAction.Status.TIMEDOUT); final CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 4); addRecordToCoordActionTable(job2.getId(), 4, CoordinatorAction.Status.TIMEDOUT); ExtendedAbandonedCoordCheckerRunnable coordChecked = new ExtendedAbandonedCoordCheckerRunnable(10); coordChecked.run(); String msg = coordChecked.getMessage(); assertTrue(msg.contains(job1.getId())); assertFalse(msg.contains(job2.getId())); }
public void testNoAbandoned() throws Exception { Date start = DateUtils.addMonths(new Date(), -1); Date end = DateUtils.addHours(new Date(), 4); // 4 hrs Date createdTime = start; final CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 6); addRecordToCoordActionTable(job1.getId(), 6, CoordinatorAction.Status.SUCCEEDED, CoordinatorAction.Status.FAILED); final CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, start, end, createdTime, true, false, 6); addRecordToCoordActionTable(job2.getId(), 6, CoordinatorAction.Status.SUCCEEDED, CoordinatorAction.Status.FAILED); ExtendedAbandonedCoordCheckerRunnable coordChecked = new ExtendedAbandonedCoordCheckerRunnable(5); coordChecked.run(); assertNull(coordChecked.getMessage()); }
public void testMessage_withMixedStatus() throws Exception { Date start = DateUtils.addMonths(new Date(), -1); Date end = DateUtils.addHours(new Date(), 4); // 4 hrs Date createdTime = start; final CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 5); addRecordToCoordActionTable(job1.getId(), 5, CoordinatorAction.Status.FAILED, CoordinatorAction.Status.SUSPENDED, CoordinatorAction.Status.TIMEDOUT); final CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 5); addRecordToCoordActionTable(job2.getId(), 5, CoordinatorAction.Status.FAILED, CoordinatorAction.Status.SUSPENDED, CoordinatorAction.Status.TIMEDOUT); final CoordinatorJobBean job3 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, start, end, createdTime, true, false, 5); addRecordToCoordActionTable(job3.getId(), 5, CoordinatorAction.Status.FAILED, CoordinatorAction.Status.SUSPENDED, CoordinatorAction.Status.TIMEDOUT); ExtendedAbandonedCoordCheckerRunnable coordChecked = new ExtendedAbandonedCoordCheckerRunnable(5); coordChecked.run(); String msg = coordChecked.getMessage(); assertTrue(msg.contains(job1.getId())); assertTrue(msg.contains(job2.getId())); assertFalse(msg.contains(job3.getId())); }
public void testCatchupJob() throws Exception { Date start = DateUtils.addMonths(new Date(), -1); Date end = DateUtils.addHours(new Date(), 4); // 4 hrs Date createdTime = DateUtils.addDays(new Date(), -1); CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 6); addRecordToCoordActionTable(job1.getId(), 6, CoordinatorAction.Status.FAILED); createdTime = DateUtils.addDays(new Date(), -3); CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 4); addRecordToCoordActionTable(job2.getId(), 10, CoordinatorAction.Status.FAILED); new AbandonedCoordCheckerRunnable(5, true).run(); // Only one job should be running. assertEquals(CoordJobQueryExecutor.getInstance().get(CoordJobQuery.GET_COORD_JOB, job1.getId()).getStatus(), CoordinatorJob.Status.RUNNING); assertEquals(CoordJobQueryExecutor.getInstance().get(CoordJobQuery.GET_COORD_JOB, job2.getId()).getStatus(), CoordinatorJob.Status.KILLED); }
public void testKill() throws Exception { Date start = DateUtils.addMonths(new Date(), -1); Date end = DateUtils.addHours(new Date(), 4); // 4 hrs Date createdTime = start; CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 6); addRecordToCoordActionTable(job1.getId(), 6, CoordinatorAction.Status.FAILED); CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, start, end, createdTime, true, false, 4); addRecordToCoordActionTable(job2.getId(), 4, CoordinatorAction.Status.FAILED); new AbandonedCoordCheckerRunnable(5, true).run(); assertEquals(CoordJobQueryExecutor.getInstance().get(CoordJobQuery.GET_COORD_JOB, job1.getId()).getStatus(), CoordinatorJob.Status.KILLED); assertEquals(CoordJobQueryExecutor.getInstance().get(CoordJobQuery.GET_COORD_JOB, job2.getId()).getStatus(), CoordinatorJob.Status.RUNNING); }