blob: 1de7a98523bc3a3619bc0447a3b041d5ec9652fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import * as childProcess from 'child_process';
import * as Deque from 'double-ended-queue';
import Xev from 'xev';
const ev = new Xev();
export default function() {
const log = new Deque<any>();
const p = childProcess.fork(__dirname + '/notes-stats-child.js');
p.on('message', stats => {
ev.emit('notesStats', stats);
log.push(stats);
if (log.length > 100) log.pop();
});
ev.on('requestNotesStatsLog', id => {
ev.emit('notesStatsLog:' + id, log.toArray());
});
process.on('exit', code => {
process.kill(p.pid);
});
}
|