我想在任务处理器中进行一些查询:
@Processor('audio')
export class AudioProcessor {
constructor(private readonly entityManager: EntityManager) {
}
@Process()
public async process(job: Job<any>) {
// ! this promise never resolve
const user = await this.entityManager.findOne(User, { id: 1 });
}
}
承诺永远不会在@Process()
函数中得到解决。
谢谢。
事实上,在这里抛出了一个错误
@Process()
public async process(job: Job<any>) {
// error thrown below
const user = await this.entityManager.findOne(User, { id: 1 });
}
正确的解决方案是在构造函数中使用@UseRequestContext()
装饰器和orm
属性。
constructor(
private readonly orm: MikroORM) {
}
@Process()
@UseRequestContext()
public async process(job: Job<any>) {
// error thrown below
const user = await this.entityManager.findOne(User, { id: 1 });
}
- https://github.com/mikro-orm/mikro-orm/pull/3475