diff --git a/package.json b/package.json index a9cee581cf1ec0a976c1edb30f57e7b2672fd3ad..0730fe3f5287c5975f1d5f222b8fb58fc897822d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dacap", - "version": "1.0.4", + "version": "1.0.5", "description": "proxies,compresses and caches api-requests", "main": "bin/dacap", "bin": { diff --git a/src/cache.ts b/src/cache.ts index b8c110b19608e5b6b04a9185d39eb674a5527874..a04727ec0ea1d2328d11728fa19252f2ac88d778 100644 --- a/src/cache.ts +++ b/src/cache.ts @@ -131,9 +131,12 @@ export class Register { }); } - save = (): void => { - fs.writeFileSync(path.resolve(this.storage, this.name), JSON.stringify(this.toObject()), { encoding: 'utf8', flag: 'w' }); - debug(`register "${this.name}" saved to "${this.storage}"`); + save = (interval:number): void => { + setTimeout(() => { + fs.writeFileSync(path.resolve(this.storage, this.name), JSON.stringify(this.toObject()), { encoding: 'utf8', flag: 'w' }); + debug(`register "${this.name}" saved to "${this.storage}"`); + this.save(interval); + }, interval); } restore = async (): Promise<void> => { diff --git a/src/server.ts b/src/server.ts index dbd35c1d88b32d9d3413b08052f265d9e6d9aec6..e7116ffe5674cfc38d630922023f5fd46cb11bcc 100644 --- a/src/server.ts +++ b/src/server.ts @@ -44,8 +44,7 @@ export class Server { private initRegister() { this.register = new cache.Register(this.config.storagePath, this.config.registerName); this.register.restore(); - setTimeout(this.register.save, this.config.autosaveInterval * 1000); - + this.register.save(this.config.autosaveInterval * 1000); } private initMiddlewares() {