1
1
import assert from 'assert'
2
2
import { Redis } from 'ioredis'
3
- import { walkProviderChain } from '../lib/advertisement-walker.js'
3
+ import { walkChain } from '../lib/advertisement-walker.js'
4
4
import { runIpniSync } from '../lib/ipni-watcher.js'
5
5
import { RedisRepository } from '../lib/redis-repository.js'
6
6
@@ -25,8 +25,8 @@ const redis = new Redis({
25
25
await redis . connect ( )
26
26
const repository = new RedisRepository ( redis )
27
27
28
- /** @type {Map <string, boolean > } */
29
- const providerWalkers = new Map ( )
28
+ /** @type {Set <string> } */
29
+ const providerIdsActivelyWalked = new Set ( )
30
30
31
31
/** @type {ProviderToInfoMap } */
32
32
const recentProvidersInfo = new Map ( )
@@ -43,16 +43,16 @@ const getProviderInfo = async (providerId) => {
43
43
for await ( const providerInfos of runIpniSync ( { minSyncIntervalInMs : 60_000 } ) ) {
44
44
for ( const [ providerId , providerInfo ] of providerInfos . entries ( ) ) {
45
45
recentProvidersInfo . set ( providerId , providerInfo )
46
- if ( providerWalkers . get ( providerId ) ) continue
46
+ if ( providerIdsActivelyWalked . has ( providerId ) ) continue
47
47
48
- providerWalkers . set ( providerId , true )
49
- walkProviderChain ( {
48
+ providerIdsActivelyWalked . add ( providerId )
49
+ walkChain ( {
50
50
repository,
51
51
providerId,
52
52
getProviderInfo,
53
53
minStepIntervalInMs : 100
54
54
} ) . finally (
55
- ( ) => providerWalkers . set ( providerId , false )
55
+ ( ) => providerIdsActivelyWalked . delete ( providerId )
56
56
)
57
57
}
58
58
}
0 commit comments