在node.js pg-boss队列作业上工作时,如何记录错误?

k4ymrczo  于 2022-12-18  发布在  Node.js
关注(0)|答案(1)|浏览(83)

我已经注册了错误事件,该事件将记录错误。当作业从队列中退出等待处理时,我抛出了一个错误,但日志中没有显示任何内容:

const pgBoss = new PgBoss(options)
  pgBoss.on('error', error => console.log(error))
  await pgBoss.start()
  return pgBoss

  await pgBoss.work(queues.TEST, {}, async job => {
    queueLogger.info('Got job on test queue ' + new Date())
    throw Error('hello?')
  })

但也许它是故意的,它不能被记录-我可以看到堆栈跟踪被持久化在作业表上?

fdbelqdn

fdbelqdn1#

我已经添加了检查错误的代码。

await pgBoss.work(queues.TEST, {}, async job => {
    console.info('Got job on test queue ' + new Date())
    const failedJob = await pgBoss.getJobById(job.id);
    if (failedJob.state === 'failed') {
       console.error('Error', failedJob.output['message']);
       throw Error(failedJob.output['message'])
    }
  })

相关问题