File tree Expand file tree Collapse file tree 1 file changed +16
-5
lines changed
dslink-v2/src/main/java/com/acuity/iot/dsa/dslink/sys/backup Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -47,7 +47,14 @@ protected void declareDefaults() {
47
47
48
48
@ Override
49
49
protected void onStable () {
50
- DSRuntime .run (this );
50
+ File nodes = getLink ().getConfig ().getNodesFile ();
51
+ if (nodes .exists ()) {
52
+ synchronized (lock ) {
53
+ scheduleNextSave ();
54
+ }
55
+ } else {
56
+ DSRuntime .run (this );
57
+ }
51
58
}
52
59
53
60
private DSLink getLink () {
@@ -140,7 +147,7 @@ public void save() {
140
147
} else {
141
148
writer = new JsonWriter (nodes );
142
149
}
143
- NodeEncoder .encode (writer , this );
150
+ NodeEncoder .encode (writer , getLink () );
144
151
writer .close ();
145
152
trimBackups ();
146
153
time = System .currentTimeMillis () - time ;
@@ -206,14 +213,18 @@ public boolean accept(File dir, String name) {
206
213
backups [i ].delete ();
207
214
}
208
215
}
216
+
217
+ private void scheduleNextSave () {
218
+ long saveInterval = interval .getElement ().toLong ();
219
+ saveInterval *= 60000 ;
220
+ nextSave = DSRuntime .runDelayed (this , saveInterval );
221
+ }
209
222
210
223
@ Override
211
224
public void run () {
212
225
synchronized (lock ) {
213
226
save ();
214
- long saveInterval = interval .getElement ().toLong ();
215
- saveInterval *= 60000 ;
216
- nextSave = DSRuntime .runDelayed (this , saveInterval );
227
+ scheduleNextSave ();
217
228
}
218
229
}
219
230
You can’t perform that action at this time.
0 commit comments