paricafe/src/daemons/notes-stats.ts

27 lines
532 B
TypeScript
Raw Normal View History

2018-06-08 14:14:26 -05:00
import * as childProcess from 'child_process';
import Xev from 'xev';
2018-08-13 17:49:59 -05:00
import Queue from '../misc/queue';
2018-06-08 14:14:26 -05:00
const ev = new Xev();
2018-07-14 05:49:21 -05:00
export default function() {
2018-08-13 17:49:59 -05:00
const log = new Queue<any>();
2018-06-08 14:14:26 -05:00
const p = childProcess.fork(__dirname + '/notes-stats-child.js');
p.on('message', stats => {
ev.emit('notesStats', stats);
log.push(stats);
2018-08-13 17:49:59 -05:00
if (log.length > 100) log.pop();
2018-06-08 14:14:26 -05:00
});
ev.on('requestNotesStatsLog', id => {
2018-08-13 17:49:59 -05:00
ev.emit('notesStatsLog:' + id, log.toArray());
2018-06-08 14:14:26 -05:00
});
2018-07-13 10:39:39 -05:00
process.on('exit', code => {
process.kill(p.pid);
});
2018-06-08 14:14:26 -05:00
}