20 lines
571 B
JavaScript
20 lines
571 B
JavaScript
'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);
|