feat(pipelines): list commit logs 使用直接订阅。

替代了先查询再订阅,确保数据不丢失。
This commit is contained in:
Ivan Li
2021-03-10 21:41:47 +08:00
parent d02cea2115
commit cba4c0464c
6 changed files with 18 additions and 46 deletions

View File

@@ -1,4 +1,4 @@
import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
import { Args, Mutation, Query, Resolver, Subscription } from '@nestjs/graphql';
import { CreatePipelineInput } from './dtos/create-pipeline.input';
import { UpdatePipelineInput } from './dtos/update-pipeline.input';
import { Pipeline } from './pipeline.entity';
@@ -43,8 +43,15 @@ export class PipelinesResolver {
return await this.service.remove(id);
}
@Query(() => String)
@Subscription(() => LogList, {
resolve: (value) => {
return value;
},
})
async listLogsForPipeline(@Args('id', { type: () => String }) id: string) {
return await this.service.listLogsForPipeline(id);
const job = await this.service.listLogsForPipeline(id);
return (async function* () {
yield await job.finished();
})();
}
}