Skip to content

Commit c613f60

Browse files
committed
Improve example
1 parent d7063a5 commit c613f60

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

JavaScript/4-scheduler.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ class Task extends EventEmitter {
6868
run() {
6969
if (!this.active || this.running) return false;
7070
this.running = true;
71-
this.emit('begin');
71+
this.emit('begin', this);
7272
this.exec((err, res) => {
73-
if (err) this.emit('error', err);
74-
this.emit('end', res);
73+
if (err) this.emit('error', err, this);
74+
this.emit('end', res, this);
7575
this.count++;
7676
this.running = false;
7777
});
@@ -91,12 +91,12 @@ class Scheduler extends EventEmitter {
9191
this.tasks.set(name, task);
9292
task.on('error', err => {
9393
this.logger.error(task.name + '\t' + err.message);
94-
this.emit('error', err);
94+
this.emit('error', err, task);
9595
});
9696
task.on('begin', () => {
9797
this.logger.info(task.name + '\tbegin');
9898
});
99-
task.on('end', res => {
99+
task.on('end', (res = '') => {
100100
this.logger.warn(task.name + '\tend\t' + res);
101101
});
102102
task.start();
@@ -120,18 +120,18 @@ class Scheduler extends EventEmitter {
120120

121121
const scheduler = new Scheduler();
122122

123-
scheduler.on('error', err => {
124-
console.log(err.stack);
123+
scheduler.on('error', (err, task) => {
124+
console.log(`Error in ${task.name}: ${err.stack}`);
125125
//process.exit(1);
126126
});
127127

128-
scheduler.task('name1', '2019-03-12T14:30Z', done => {
128+
scheduler.task('name1', '2019-03-12T14:37Z', done => {
129129
setTimeout(() => {
130130
done(null, 'task successed');
131131
}, 1000);
132132
});
133133

134-
scheduler.task('name2', '2019-03-12T14:31Z', done => {
134+
scheduler.task('name2', '2019-03-12T14:37Z', done => {
135135
setTimeout(() => {
136136
done(new Error('task failed'));
137137
}, 1100);

0 commit comments

Comments
 (0)