У меня есть таблица соответствия, которая показывает задания и такие подробности, как jobId, executeId, status и т. Д. Кроме того, у меня есть webSocket, который отправляет уведомление о статусе задания, т.е. работает, успешно или не выполнено.Проблема с моим WebSocket сейчас заключается в том, что он не различает задания на основе проектов или пользователей, что означает, что если пользователь 2 запускает проект, то я также получу уведомление о выполнении задания.
Я хочу поставитьусловие в моем коде таким образом, что, когда я нажимаю кнопку «стоп» рядом с моим списком заданий, код должен сравнивать мой jobId и статус и получать ответ независимо от того, было ли задание остановлено или нет из webSocket.
HTML Codeдля моей кнопки Stop Job:
<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>
Код функции остановки в TypeScript:
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.Как мне этого добиться ??