新增:任务执行总次数记录

This commit is contained in:
lxy 2020-12-17 16:29:49 +08:00
parent 62ad14eb53
commit ee53f5000a
2 changed files with 15 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import net.tccn.timer.task.Task;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.Date; import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Logger; import java.util.logging.Logger;
/** /**
@ -15,6 +16,7 @@ import java.util.logging.Logger;
public class TimerTask implements Task { public class TimerTask implements Task {
private Logger logger = Logger.getLogger(this.getClass().getSimpleName()); private Logger logger = Logger.getLogger(this.getClass().getSimpleName());
private long startTime = System.currentTimeMillis(); private long startTime = System.currentTimeMillis();
private AtomicInteger execCount = new AtomicInteger();
protected String name; protected String name;
private long theTime; private long theTime;
private Scheduled scheduled; private Scheduled scheduled;
@ -69,6 +71,10 @@ public class TimerTask implements Task {
timerExecutor.remove(name); timerExecutor.remove(name);
} }
public int getExecCount() {
return execCount.get();
}
public TimerExecutor getTimerExecutor() { public TimerExecutor getTimerExecutor() {
return timerExecutor; return timerExecutor;
} }
@ -85,10 +91,12 @@ public class TimerTask implements Task {
public void run() { public void run() {
//没有完成任务继续执行 //没有完成任务继续执行
if (!isComplete) { if (!isComplete) {
int count = execCount.incrementAndGet(); // 执行次数+1
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
job.execute(this); job.execute(this);
long end = System.currentTimeMillis(); long end = System.currentTimeMillis();
logger.finest(String.format("task [%s] : not complete -> %s, time: %s ms", getName(), isComplete ? "had complete" : "not complete;", end - start)); logger.finest(String.format("task [%s] : not complete -> %s, time: %s ms, exec count: %s.", getName(), isComplete ? "had complete" : "not complete", end - start, count));
if (!isComplete) { if (!isComplete) {
timerExecutor.add(this, true); timerExecutor.add(this, true);

View File

@ -60,4 +60,10 @@ public interface Task extends Runnable {
TimerExecutor getTimerExecutor(); TimerExecutor getTimerExecutor();
void setTimerExecutor(TimerExecutor timerExecutor); void setTimerExecutor(TimerExecutor timerExecutor);
/**
* 得到总执行次数
* @return
*/
int getExecCount();
} }