diff --git a/src/backend/scrobblers/AbstractScrobbleClient.ts b/src/backend/scrobblers/AbstractScrobbleClient.ts index 3382c14e..9da59847 100644 --- a/src/backend/scrobblers/AbstractScrobbleClient.ts +++ b/src/backend/scrobblers/AbstractScrobbleClient.ts @@ -94,6 +94,7 @@ export default abstract class AbstractScrobbleClient extends AbstractComponent i scrobbleDelay: number = 1000; scrobbleSleep: number = 2000; + scrobbleWaitStopInterval: number = 2000; scrobbleRetries: number = 0; scrobbling: boolean = false; userScrobblingStopSignal: undefined | any; @@ -626,11 +627,11 @@ export default abstract class AbstractScrobbleClient extends AbstractComponent i return; } this.userScrobblingStopSignal = true; - let secsPassed = 0; - while(this.userScrobblingStopSignal !== undefined && secsPassed < 10) { - await sleep(2000); - secsPassed += 2; - this.logger.verbose(`Waiting for scrobble processing stop signal to be acknowledged (waited ${secsPassed}s)`); + let timePasssed = 0; + while(this.userScrobblingStopSignal !== undefined && timePasssed < (this.scrobbleWaitStopInterval * 10)) { + await sleep(this.scrobbleWaitStopInterval); + timePasssed += this.scrobbleWaitStopInterval; + this.logger.verbose(`Waiting for scrobble processing stop signal to be acknowledged (waited ${timePasssed}ms)`); } if(this.userScrobblingStopSignal !== undefined) { this.logger.warn('Could not stop scrobble processing! Or signal was lost :('); diff --git a/src/backend/tests/scrobbler/TestScrobbler.ts b/src/backend/tests/scrobbler/TestScrobbler.ts index dc4313df..bd17997e 100644 --- a/src/backend/tests/scrobbler/TestScrobbler.ts +++ b/src/backend/tests/scrobbler/TestScrobbler.ts @@ -21,6 +21,7 @@ export class TestScrobbler extends AbstractScrobbleClient { this.getScrobblesForTimeRange = async (_) => this.testRecentScrobbles; this.scrobbleDelay = 10; this.scrobbleSleep = 20; + this.scrobbleWaitStopInterval = 20; } doScrobble(playObj: PlayObject) {