@@ -188,32 +188,11 @@ module.exports = class Scheduler extends EventEmitter {
188
188
capacityJob ( nano , config . nano )
189
189
190
190
bucket . on ( 'ping' , onPing )
191
- let maintainBucket = ( ) => {
192
- let nodes = bucket . toArray ( )
193
- let i = - 1
194
- let next = ( err ) => {
195
- if ( err ) {
196
- bucket . remove ( nodes [ i ] )
197
- }
198
- i ++
199
- if ( i < nodes . length ) {
200
- let node = nodes [ i ]
201
- rpc . ping ( node . id , next )
202
- } else {
203
- rebootstrap ( ( ) => {
204
- let maintenanceJob = setTimeout ( maintainBucket , config . bucketTimeout )
205
- _maintenanceJob . set ( this , maintenanceJob )
206
- } )
207
- }
208
- }
209
- checkIP ( next )
210
- }
211
- let maintenanceJob = setTimeout ( maintainBucket , config . bucketTimeout )
212
- _maintenanceJob . set ( this , maintenanceJob )
213
191
let rebootstrap = ( cb ) => {
214
192
try {
193
+ let peers = bucket . toArray ( )
215
194
let bootstrap = config . bootstrap . map ( ( peer ) => Peer . fromLocator ( peer ) )
216
- . filter ( ( peer ) => ! peer . isEqual ( Peer . self ) && ! bucket . contains ( peer . id ) )
195
+ . filter ( ( peer ) => ! peer . isEqual ( Peer . self ) && ! peers . find ( ( pier ) => pier . isEqual ( peer ) ) )
217
196
218
197
let i = - 1
219
198
let next = ( err ) => {
@@ -235,6 +214,29 @@ module.exports = class Scheduler extends EventEmitter {
235
214
return cb ( )
236
215
}
237
216
}
217
+ let maintainBucket = ( ) => {
218
+ let nodes = bucket . toArray ( )
219
+ let i = - 1
220
+ let next = ( err ) => {
221
+ if ( err ) {
222
+ bucket . remove ( nodes [ i ] )
223
+ }
224
+ i ++
225
+ if ( i < nodes . length ) {
226
+ let node = nodes [ i ]
227
+ rpc . ping ( node . id , next )
228
+ } else {
229
+ rebootstrap ( ( ) => {
230
+ let maintenanceJob = setTimeout ( maintainBucket , config . bucketTimeout )
231
+ _maintenanceJob . set ( this , maintenanceJob )
232
+ } )
233
+ }
234
+ }
235
+ checkIP ( next )
236
+ }
237
+ let maintenanceJob = setTimeout ( maintainBucket , 20000 )
238
+ _maintenanceJob . set ( this , maintenanceJob )
239
+
238
240
let checkIP = ( cb ) => {
239
241
let intIP
240
242
let extIP
@@ -256,7 +258,6 @@ module.exports = class Scheduler extends EventEmitter {
256
258
} )
257
259
} )
258
260
}
259
-
260
261
}
261
262
262
263
}
0 commit comments