我有一个垫表,它表明乔布斯和它像的jobId,流程id,状态等详细另外我有把工作即运行,成功或失败的通知状态的WebSocket。我的WebSocket现在的问题是,它不区分基于项目或用户的工作,这意味着如果用户2运行的项目,然后同时我会得到的工作运行的通知。
我想提出一个条件,我的代码以这样的方式,当我上停止按钮点击旁边的我的工作清单的代码要比我和的jobId地位和得到回应作业是否是从的WebSocket停止与否。
HTML代码为我停止作业按钮:
<button *ngIf="index === 0"
mat-icon-button
(click)="stop_exec_job(element)"
matTooltip="Stop Executing the Job"
[disabled]="element.status == 'Completed' || element.status == 'FINISH'"
>
<!-- Edit icon for row -->
<i class="material-icons" style="color:red"> stop </i>
</button>
停止功能代码的打字稿:
stop_exec_job(element) {
if (element.status == 'RUNNING' || element.status == 'Pending') {
//Api to stop Job Execution
this.recommendationService
.stopJobExecution(element.jobId,element.status)
.subscribe(data => {
this.executeJobStop = data;
});
this.displaySpinner = false;
this.snakbar.statusBar('Job Execution Stopped', 'Sucess');
} else {
this.snakbar.statusBar('Job Failed to start', 'Failure');
}
}
WebSocket的代码:
this.messageService.messageReceived$.subscribe(data => {
let status: any = data;
this.snakbar.statusBar(
"Platform job status - " + status.message,
"Info"
);
});
我希望收到的WebSocket相当于我已使用的if-else条件停止的工作通知。如何实现这一目标?
我不知道如果我理解你想要什么,我也不知道什么this.recommendationService.stopJobExecution(的jobId,状态)的回报,但也许你必须把小吃吧行动中,如订阅:
...
this.recommendationService
.stopJobExecution(element.jobId,element.status)
.subscribe(data => {
this.executeJobStop = data;
if(data.stopped) {
this.snakbar.statusBar('Job Execution Stopped', 'Success');
}
});
....