1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-06 11:59:58 +02:00

Process slow followers in unicast job queue

This commit is contained in:
Chocobozzz 2021-10-13 11:47:32 +02:00
parent e81f6ccf98
commit 9db437c815
No known key found for this signature in database
GPG key ID: 583A612D890159BE
10 changed files with 160 additions and 37 deletions

View file

@ -2,7 +2,7 @@ import { isTestInstance } from '../../helpers/core-utils'
import { logger } from '../../helpers/logger'
import { ACTOR_FOLLOW_SCORE, SCHEDULER_INTERVALS_MS } from '../../initializers/constants'
import { ActorFollowModel } from '../../models/actor/actor-follow'
import { ActorFollowScoreCache } from '../files-cache'
import { ActorFollowHealthCache } from '../actor-follow-health-cache'
import { AbstractScheduler } from './abstract-scheduler'
export class ActorFollowScheduler extends AbstractScheduler {
@ -22,13 +22,13 @@ export class ActorFollowScheduler extends AbstractScheduler {
}
private async processPendingScores () {
const pendingScores = ActorFollowScoreCache.Instance.getPendingFollowsScore()
const badServerIds = ActorFollowScoreCache.Instance.getBadFollowingServerIds()
const goodServerIds = ActorFollowScoreCache.Instance.getGoodFollowingServerIds()
const pendingScores = ActorFollowHealthCache.Instance.getPendingFollowsScore()
const badServerIds = ActorFollowHealthCache.Instance.getBadFollowingServerIds()
const goodServerIds = ActorFollowHealthCache.Instance.getGoodFollowingServerIds()
ActorFollowScoreCache.Instance.clearPendingFollowsScore()
ActorFollowScoreCache.Instance.clearBadFollowingServerIds()
ActorFollowScoreCache.Instance.clearGoodFollowingServerIds()
ActorFollowHealthCache.Instance.clearPendingFollowsScore()
ActorFollowHealthCache.Instance.clearBadFollowingServerIds()
ActorFollowHealthCache.Instance.clearGoodFollowingServerIds()
for (const inbox of Object.keys(pendingScores)) {
await ActorFollowModel.updateScore(inbox, pendingScores[inbox])