新增:任务执行总次数记录
This commit is contained in:
parent
62ad14eb53
commit
ee53f5000a
@ -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);
|
||||||
|
@ -60,4 +60,10 @@ public interface Task extends Runnable {
|
|||||||
TimerExecutor getTimerExecutor();
|
TimerExecutor getTimerExecutor();
|
||||||
|
|
||||||
void setTimerExecutor(TimerExecutor timerExecutor);
|
void setTimerExecutor(TimerExecutor timerExecutor);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到总执行次数
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getExecCount();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user