diff options
author | Chocobozzz <me@florianbigard.com> | 2019-08-06 17:19:53 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-08-06 17:26:51 +0200 |
commit | 6b9c966f6428c9e47bead3410a0401e8ebd744bf (patch) | |
tree | 282218ec56725b0e2e878b0471cd08a54fd91998 /server/lib/schedulers/actor-follow-scheduler.ts | |
parent | 466e3f20a537f1eff4b4fd03297df11ba371d049 (diff) | |
download | PeerTube-6b9c966f6428c9e47bead3410a0401e8ebd744bf.tar.gz PeerTube-6b9c966f6428c9e47bead3410a0401e8ebd744bf.tar.zst PeerTube-6b9c966f6428c9e47bead3410a0401e8ebd744bf.zip |
Automatically remove bad followings
Diffstat (limited to 'server/lib/schedulers/actor-follow-scheduler.ts')
-rw-r--r-- | server/lib/schedulers/actor-follow-scheduler.ts | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/server/lib/schedulers/actor-follow-scheduler.ts b/server/lib/schedulers/actor-follow-scheduler.ts index fdd3ad5fa..598c0211f 100644 --- a/server/lib/schedulers/actor-follow-scheduler.ts +++ b/server/lib/schedulers/actor-follow-scheduler.ts | |||
@@ -2,7 +2,7 @@ import { isTestInstance } from '../../helpers/core-utils' | |||
2 | import { logger } from '../../helpers/logger' | 2 | import { logger } from '../../helpers/logger' |
3 | import { ActorFollowModel } from '../../models/activitypub/actor-follow' | 3 | import { ActorFollowModel } from '../../models/activitypub/actor-follow' |
4 | import { AbstractScheduler } from './abstract-scheduler' | 4 | import { AbstractScheduler } from './abstract-scheduler' |
5 | import { SCHEDULER_INTERVALS_MS } from '../../initializers/constants' | 5 | import { ACTOR_FOLLOW_SCORE, SCHEDULER_INTERVALS_MS } from '../../initializers/constants' |
6 | import { ActorFollowScoreCache } from '../files-cache' | 6 | import { ActorFollowScoreCache } from '../files-cache' |
7 | 7 | ||
8 | export class ActorFollowScheduler extends AbstractScheduler { | 8 | export class ActorFollowScheduler extends AbstractScheduler { |
@@ -22,13 +22,20 @@ export class ActorFollowScheduler extends AbstractScheduler { | |||
22 | } | 22 | } |
23 | 23 | ||
24 | private async processPendingScores () { | 24 | private async processPendingScores () { |
25 | const pendingScores = ActorFollowScoreCache.Instance.getPendingFollowsScoreCopy() | 25 | const pendingScores = ActorFollowScoreCache.Instance.getPendingFollowsScore() |
26 | const badServerIds = ActorFollowScoreCache.Instance.getBadFollowingServerIds() | ||
27 | const goodServerIds = ActorFollowScoreCache.Instance.getGoodFollowingServerIds() | ||
26 | 28 | ||
27 | ActorFollowScoreCache.Instance.clearPendingFollowsScore() | 29 | ActorFollowScoreCache.Instance.clearPendingFollowsScore() |
30 | ActorFollowScoreCache.Instance.clearBadFollowingServerIds() | ||
31 | ActorFollowScoreCache.Instance.clearGoodFollowingServerIds() | ||
28 | 32 | ||
29 | for (const inbox of Object.keys(pendingScores)) { | 33 | for (const inbox of Object.keys(pendingScores)) { |
30 | await ActorFollowModel.updateFollowScore(inbox, pendingScores[inbox]) | 34 | await ActorFollowModel.updateScore(inbox, pendingScores[inbox]) |
31 | } | 35 | } |
36 | |||
37 | await ActorFollowModel.updateScoreByFollowingServers(badServerIds, ACTOR_FOLLOW_SCORE.PENALTY) | ||
38 | await ActorFollowModel.updateScoreByFollowingServers(goodServerIds, ACTOR_FOLLOW_SCORE.BONUS) | ||
32 | } | 39 | } |
33 | 40 | ||
34 | private async removeBadActorFollows () { | 41 | private async removeBadActorFollows () { |