'use strict'; const ps = require('./pubsub.js'); const {Torrent} = require('>/models'); const conf = require('>/conf'); let statusLock = false; setInterval(async function(){ if(statusLock) return; statusLock = true; try{ ps.publish('torrent:server:status', await Torrent.trClient.sessionStats()); }catch(error){ ps.publish('torrent:server:status:down') // if(error.code === 'ECONNREFUSED') throw new Error('TorrentGatewayDown'); // console.error('status interval error', error) } statusLock = false }, conf.transmission.statusUpdateInterval, statusLock);