X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fschedulers%2Factor-follow-scheduler.ts;h=1b80316e98ac242d98629bf2ea12aba46089c66e;hb=eb34ec30e0b57286fc6f85160490d2e973a3b0b1;hp=05e6bd139e2e1fe28b3bdebb678294ff1eeff4b2;hpb=d74d29ad9e35929491cf37223398d2535ab23de0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/schedulers/actor-follow-scheduler.ts b/server/lib/schedulers/actor-follow-scheduler.ts index 05e6bd139..1b80316e9 100644 --- a/server/lib/schedulers/actor-follow-scheduler.ts +++ b/server/lib/schedulers/actor-follow-scheduler.ts @@ -1,9 +1,9 @@ import { isTestInstance } from '../../helpers/core-utils' import { logger } from '../../helpers/logger' -import { ActorFollowModel } from '../../models/activitypub/actor-follow' -import { AbstractScheduler } from './abstract-scheduler' -import { SCHEDULER_INTERVALS_MS } from '../../initializers' +import { ACTOR_FOLLOW_SCORE, SCHEDULER_INTERVALS_MS } from '../../initializers/constants' +import { ActorFollowModel } from '../../models/actor/actor-follow' import { ActorFollowScoreCache } from '../files-cache' +import { AbstractScheduler } from './abstract-scheduler' export class ActorFollowScheduler extends AbstractScheduler { @@ -22,13 +22,20 @@ export class ActorFollowScheduler extends AbstractScheduler { } private async processPendingScores () { - const pendingScores = ActorFollowScoreCache.Instance.getPendingFollowsScoreCopy() + const pendingScores = ActorFollowScoreCache.Instance.getPendingFollowsScore() + const badServerIds = ActorFollowScoreCache.Instance.getBadFollowingServerIds() + const goodServerIds = ActorFollowScoreCache.Instance.getGoodFollowingServerIds() ActorFollowScoreCache.Instance.clearPendingFollowsScore() + ActorFollowScoreCache.Instance.clearBadFollowingServerIds() + ActorFollowScoreCache.Instance.clearGoodFollowingServerIds() for (const inbox of Object.keys(pendingScores)) { - await ActorFollowModel.updateFollowScore(inbox, pendingScores[inbox]) + await ActorFollowModel.updateScore(inbox, pendingScores[inbox]) } + + await ActorFollowModel.updateScoreByFollowingServers(badServerIds, ACTOR_FOLLOW_SCORE.PENALTY) + await ActorFollowModel.updateScoreByFollowingServers(goodServerIds, ACTOR_FOLLOW_SCORE.BONUS) } private async removeBadActorFollows () {