Project

General

Profile

1
package eu.dnetlib.data.hadoop.action;
2

    
3
import java.util.Date;
4

    
5
import eu.dnetlib.data.hadoop.rmi.HadoopServiceException;
6

    
7
public abstract class JobMonitor implements Runnable {
8

    
9
	private final JobCompletion callback;
10

    
11
	protected Date lastActivity;
12

    
13
    /**
14
     * Monitor sleep time in seconds.
15
     */
16
    protected final int monitorSleepTimeSecs = 10;
17

    
18
	protected JobMonitor(JobCompletion callback) {
19
		this.callback = callback;
20
		this.lastActivity = new Date(System.currentTimeMillis());
21
	}
22

    
23
	@Override
24
	public abstract void run();
25

    
26
	public abstract void kill();
27

    
28
	public abstract String getStatus();
29

    
30
	public abstract Date getLastActivity();
31

    
32
	public abstract Date getStartTime() throws HadoopServiceException;
33

    
34
	public abstract String getHadoopId();
35

    
36
	public abstract String getTrackerUrl();
37

    
38
	protected JobCompletion getCallback() {
39
		return callback;
40
	}
41

    
42
}
(8-8/13)