m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules
diff options
context:
space:
mode:
authorMartin <marcin.j.chrzanowski@gmail.com>2020-01-05 14:13:33 +0100
committerGitHub <noreply@github.com>2020-01-05 14:13:33 +0100
commit69480d460a698a78b90d8d111f5fb4d761ffda81 (patch)
treedab9949f2bc7481e887d76fe3b8bb6979b96a62e /src/main/java/pl/edu/mimuw/cloudatlas/agent/modules
parent9be545d6f2609d5fe8143a1964d44f6eee588ea2 (diff)
parente72984a8921f16018d9ca3fb34c931deec06d9a5 (diff)
Merge pull request #84 from m-chrzan/run-queries
Run queries on an interval
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/agent/modules')
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Qurnik.java2
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/RecursiveScheduledTask.java26
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/TimerScheduledTask.java2
3 files changed, 29 insertions, 1 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Qurnik.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Qurnik.java
index 1ab8a16..2119653 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Qurnik.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Qurnik.java
@@ -94,6 +94,8 @@ public class Qurnik extends Module {
if (!currentPath.toString().equals("/")) {
newAttributes.add("name", new ValueString(currentPath.getSingletonName()));
+ } else {
+ newAttributes.add("name", new ValueString(null));
}
long currentTime = System.currentTimeMillis();
newAttributes.add("timestamp", new ValueTime(currentTime));
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/RecursiveScheduledTask.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/RecursiveScheduledTask.java
new file mode 100644
index 0000000..07e1fd4
--- /dev/null
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/RecursiveScheduledTask.java
@@ -0,0 +1,26 @@
+package pl.edu.mimuw.cloudatlas.agent.modules;
+
+import java.util.function.Supplier;
+
+import pl.edu.mimuw.cloudatlas.agent.messages.TimerSchedulerMessage;
+
+public class RecursiveScheduledTask extends TimerScheduledTask {
+ private long delay;
+ private Supplier<TimerScheduledTask> taskSupplier;
+
+ public RecursiveScheduledTask(long delay, Supplier<TimerScheduledTask> taskSupplier) {
+ this.delay = delay;
+ this.taskSupplier = taskSupplier;
+ }
+
+ public void run() {
+ try {
+ TimerScheduledTask task = taskSupplier.get();
+ task.setScheduler(scheduler);
+ task.run();
+ sendMessage(new TimerSchedulerMessage("", 0, "", delay, 0, new RecursiveScheduledTask(delay, taskSupplier)));
+ } catch (InterruptedException e) {
+ System.out.println("Caught interrupted exception while running RecursiveScheduledTask");
+ }
+ }
+}
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/TimerScheduledTask.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/TimerScheduledTask.java
index 7a0da70..da4bd6f 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/TimerScheduledTask.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/TimerScheduledTask.java
@@ -5,7 +5,7 @@ import pl.edu.mimuw.cloudatlas.agent.messages.AgentMessage;
import java.util.TimerTask;
public abstract class TimerScheduledTask extends TimerTask {
- private TimerScheduler scheduler;
+ protected TimerScheduler scheduler;
public abstract void run();