如何在节点的kue中使用哨兵?

时间:2014-06-06 07:43:28

标签: node.js sentry kue

我想将哨兵监控连接到我的kue应用程序。应该怎么做? 我在docs中看到如何为plain node.js执行此操作:

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

但我希望有明确的风格:

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

因此,sentry会为我捕获错误,而不是手动调用client.captureError。也许这很简单,我第一次使用kue,会感激任何帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

queue.on('job failed', function(...) {
    ...
}