2

我想将哨兵监控连接到我的 kue 应用程序。应该怎么做?我在文档中看到如何为普通的 node.js 做到这一点:

var client = new raven.Client(...);
client.captureError(new Error('Uh oh!!'));

但我想要表达风格:

app.use(raven.middleware.express(...));

这样哨兵就会为我捕获错误,而不是手动调用 client.captureError。也许这很简单,我是第一次使用 kue,将不胜感激。

谢谢。

4

1 回答 1

2

您不能使用 express 样式的中间件来捕获 kue 错误,因为通过 kue 作业发生的错误不会通过您的 express 应用程序传递。

就像您提到的那样,您可以在处理特定作业时调用 client.captureError 。

如果你想从队列中捕获所有错误,你可以注册一个可以调用 captureError 的错误处理程序

queue.on( 'error', function( err ) {
  console.log( 'kue error', err );
  client.captureError(err);
});

您还可以从 kue 捕获其他事件,例如作业失败时

queue.on('job failed', function(...) {
    ...
}
于 2015-07-09T12:29:25.407 回答