mirror of https://github.com/Chocobozzz/PeerTube
Server: request scheduler refractoring
parent
9c2c18f3ab
commit
f282639b07
|
@ -95,14 +95,6 @@ module.exports = class BaseRequestScheduler {
|
|||
const requestToMake = requestsToMakeGrouped[hashKey]
|
||||
const toPod = requestToMake.toPod
|
||||
|
||||
// Maybe the pod is not our friend anymore so simply remove it
|
||||
if (!toPod) {
|
||||
const requestIdsToDelete = requestToMake.ids
|
||||
|
||||
logger.info('Removing %d "%s" of unexisting pod %s.', requestIdsToDelete.length, this.description, requestToMake.toPod.id)
|
||||
return this.getRequestToPodModel().removePodOf(requestIdsToDelete, requestToMake.toPod.id, callbackEach)
|
||||
}
|
||||
|
||||
this.makeRequest(toPod, requestToMake.endpoint, requestToMake.datas, (success) => {
|
||||
if (success === false) {
|
||||
badPods.push(requestToMake.toPod.id)
|
||||
|
|
|
@ -45,12 +45,7 @@ module.exports = class RequestVideoQaduScheduler extends BaseRequestScheduler {
|
|||
}
|
||||
}
|
||||
|
||||
if (!requestsToMakeGrouped[hashKey].videos[video.id]) {
|
||||
requestsToMakeGrouped[hashKey].videos[video.id] = {}
|
||||
}
|
||||
|
||||
const videoData = requestsToMakeGrouped[hashKey].videos[video.id]
|
||||
|
||||
const videoData = {}
|
||||
switch (request.type) {
|
||||
case constants.REQUEST_VIDEO_QADU_TYPES.LIKES:
|
||||
videoData.likes = video.likes
|
||||
|
@ -72,10 +67,14 @@ module.exports = class RequestVideoQaduScheduler extends BaseRequestScheduler {
|
|||
// Do not forget the remoteId so the remote pod can identify the video
|
||||
videoData.remoteId = video.id
|
||||
requestsToMakeGrouped[hashKey].ids.push(request.id)
|
||||
|
||||
// Maybe there are multiple quick and dirty update for the same video
|
||||
// We use this hashmap to dedupe them
|
||||
requestsToMakeGrouped[hashKey].videos[video.id] = videoData
|
||||
})
|
||||
})
|
||||
|
||||
// Now we deduped similar quick and dirty updates, we can build our requests datas
|
||||
Object.keys(requestsToMakeGrouped).forEach(hashKey => {
|
||||
Object.keys(requestsToMakeGrouped[hashKey].videos).forEach(videoId => {
|
||||
const videoData = requestsToMakeGrouped[hashKey].videos[videoId]
|
||||
|
|
Loading…
Reference in New Issue