try catch
This commit is contained in:
parent
886953f221
commit
f27ab20679
@ -68,17 +68,22 @@ module.exports = async (client, apex, app) => {
|
||||
requestPart(`https://${instance}/api/v1/instance/peers`)
|
||||
])
|
||||
if (instancelocated.length === 0) {
|
||||
await client.index({
|
||||
index: constant.index,
|
||||
body: {
|
||||
instance,
|
||||
api,
|
||||
nodeinfo,
|
||||
blocks,
|
||||
peers,
|
||||
last: new Date()
|
||||
}
|
||||
})
|
||||
try {
|
||||
await client.index({
|
||||
index: constant.index,
|
||||
body: {
|
||||
instance,
|
||||
api,
|
||||
nodeinfo,
|
||||
blocks,
|
||||
peers,
|
||||
last: new Date()
|
||||
}
|
||||
})
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return
|
||||
}
|
||||
app.locals.created++
|
||||
return await util.sendFederatedMessage(constant.nick, 'New Fediblock Instance', `Fediblock Instance ${instance} with ${json.length} blocks - https://${constant.apexdomain}#${instance}`, getAccount(api))
|
||||
} else {
|
||||
@ -89,18 +94,23 @@ module.exports = async (client, apex, app) => {
|
||||
|| !instancelocated[0]._source.api
|
||||
|| !instancelocated[0]._source.nodeinfo
|
||||
|| !instancelocated[0]._source.peers) {
|
||||
await client.update({
|
||||
index: constant.index,
|
||||
id: instancelocated[0]._id,
|
||||
doc: {
|
||||
api: api ? api : instancelocated[0]._source.api,
|
||||
nodeinfo: nodeinfo ? nodeinfo : instancelocated[0]._source.nodeinfo,
|
||||
blocks: blocks && blocks.length > 0 ? blocks : elasticinstance,
|
||||
peers: peers && peers.length > 0 ? peers : instancelocated[0]._source.peers,
|
||||
last: new Date()
|
||||
},
|
||||
doc_as_upsert: true
|
||||
})
|
||||
try {
|
||||
await client.update({
|
||||
index: constant.index,
|
||||
id: instancelocated[0]._id,
|
||||
doc: {
|
||||
api: api ? api : instancelocated[0]._source.api,
|
||||
nodeinfo: nodeinfo ? nodeinfo : instancelocated[0]._source.nodeinfo,
|
||||
blocks: blocks && blocks.length > 0 ? blocks : elasticinstance,
|
||||
peers: peers && peers.length > 0 ? peers : instancelocated[0]._source.peers,
|
||||
last: new Date()
|
||||
},
|
||||
doc_as_upsert: true
|
||||
})
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return
|
||||
}
|
||||
app.locals.updated++
|
||||
if (instancelocated[0]._source.api && instancelocated[0]._source.api.uri && instancelocated[0]._source.api.contact_account && instancelocated[0]._source.api.contact_account.acct) {
|
||||
const difference = blocks.filter(block => block.domain && block.domain.trim().length > 0 && !elasticinstance.some(instance => block.domain === instance.domain))
|
||||
@ -127,18 +137,22 @@ module.exports = async (client, apex, app) => {
|
||||
return
|
||||
}
|
||||
},
|
||||
scanPart = async (instancesall, index) => {
|
||||
for (const instance of instancesall) {
|
||||
try {
|
||||
app.locals.scan.emit('data', 'data: ' + (app.locals.scannum > 0 ? '(' + app.locals.scannum-- + ':' + (index + 1) + '): ' + instance : ': ' + instance) + '\n\n')
|
||||
app.locals.peers++
|
||||
await scanInstance(instance)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
scanPart = async function* (instancesall, index) {
|
||||
try {
|
||||
for (const instance of instancesall) {
|
||||
try {
|
||||
app.locals.scan.emit('data', 'data: ' + (app.locals.scannum > 0 ? '(' + app.locals.scannum-- + ':' + (index + 1) + '): ' + instance : ': ' + instance) + '\n\n')
|
||||
app.locals.peers++
|
||||
await scanInstance(instance)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
yield 0
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
yield 1
|
||||
}
|
||||
global.gc()
|
||||
return
|
||||
},
|
||||
scanIndex = async (server, instancesall) => {
|
||||
try {
|
||||
@ -241,7 +255,11 @@ module.exports = async (client, apex, app) => {
|
||||
const chunk = instancessorted.slice(i, i + chunkSize)
|
||||
parts.push(chunk)
|
||||
}
|
||||
await Promise.all(parts.map(async (p, i) => await scanPart(p, i)))
|
||||
await Promise.all(parts.map(async (p, i) => {
|
||||
for await (const exit of scanPart(p, i)) {
|
||||
console.log('Done: ' + server + ' - ' + i + ' parts with exit ' + exit + '.')
|
||||
}
|
||||
}))
|
||||
return await scanReturn()
|
||||
} else {
|
||||
return await scanReturn()
|
||||
|
Loading…
Reference in New Issue
Block a user