我注意到,默认情况下,公牛不会将异常打印到控制台。为了解决这个问题,我想用@OnQuerueError装饰器捕捉错误,并将它们打印到控制台(目前是这样)。我目前的实现不起作用,我也不明白为什么。handler不被调用。我验证了其他事件侦听器是否可以工作,比如@OnQueueActive()。
@Processor('email')
export default class DigestEmailProcessor {
constructor(
) {}
@OnQueueError()
handler() {
console.log('fired exception');
}
@Process(PROCESS_NAMES.email.send)
async send(job: Job<JobData>) {
throw new Error("Foo bar")
}
}发布于 2022-04-29 15:25:36
事件侦听器@OnQueueError()对此用例不正确。尝试使用事件侦听器@OnQueueFailed(),这会引发引发错误的作业事件。
使用示例代码:
@Processor('email')
export default class DigestEmailProcessor {
constructor(
) {}
@OnQueueFailed()
handler(job: Job, error: Error) {
console.log('fired exception');
}
@Process(PROCESS_NAMES.email.send)
async send(job: Job<JobData>) {
throw new Error("Foo bar")
}
}关于不同事件侦听器的更多信息
https://stackoverflow.com/questions/71885898
复制相似问题