// Flush pool requests
requestsScheduler.forceSend()
- Pods.list(function (err, pods) {
- if (err) return callback(err)
-
- const request = {
- method: 'POST',
- path: '/api/' + constants.API_VERSION + '/pods/remove',
- sign: true,
- encrypt: true,
- data: {
- url: 'me' // Fake data
+ async.waterfall([
+ function getPodsList (callbackAsync) {
+ return Pods.list(callbackAsync)
+ },
+
+ function announceIQuitMyFriends (pods, callbackAsync) {
+ const request = {
+ method: 'POST',
+ path: '/api/' + constants.API_VERSION + '/pods/remove',
+ sign: true,
+ encrypt: true,
+ data: {
+ url: 'me' // Fake data
+ }
}
- }
- // Announce we quit them
- requests.makeMultipleRetryRequest(request, pods, function () {
- Pods.removeAll(function (err) {
- requestsScheduler.activate()
+ // Announce we quit them
+ requests.makeMultipleRetryRequest(request, pods, function (err) {
+ return callbackAsync(err)
+ })
+ },
- if (err) return callback(err)
+ function removePodsFromDB (callbackAsync) {
+ Pods.removeAll(function (err) {
+ return callbackAsync(err)
+ })
+ },
- logger.info('Broke friends, so sad :(')
+ function listRemoteVideos (callbackAsync) {
+ logger.info('Broke friends, so sad :(')
- Videos.listFromRemotes(function (err, videosList) {
- if (err) return callback(err)
+ Videos.listFromRemotes(callbackAsync)
+ },
- videos.removeRemoteVideos(videosList, function (err) {
- if (err) {
- logger.error('Cannot remove remote videos.', { error: err })
- return callback(err)
- }
+ function removeTheRemoteVideos (videosList, callbackAsync) {
+ videos.removeRemoteVideos(videosList, function (err) {
+ if (err) {
+ logger.error('Cannot remove remote videos.', { error: err })
+ return callbackAsync(err)
+ }
- logger.info('Removed all remote videos.')
- callback(null)
- })
- })
+ return callbackAsync(null)
})
- })
+ }
+ ], function (err) {
+ // Don't forget to re activate the scheduler, even if there was an error
+ requestsScheduler.activate()
+
+ if (err) return callback(err)
+
+ logger.info('Removed all remote videos.')
+ return callback(null)
})
}
Object.keys(podsScore).forEach(function (pod) {
if (podsScore[pod] > baseScore) podsList.push({ url: pod })
})
- console.log(urls)
- console.log(podsScore)
- console.log(podsList)
+
return podsList
}
podsList,
+ // Callback called after each request
function eachRequest (err, response, body, url, pod, callbackEachRequest) {
// We add the pod if it responded correctly with its public certificate
if (!err && response.statusCode === 200) {
}
},
+ // Final callback, we've ended all the requests
function endRequests (err) {
// Now we made new friends, we can re activate the pool of requests
requestsScheduler.activate()