1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
expert.ts 4.5 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
zengqiao Отправлено 4 лет назад c6e4b60
import { observable, action } from 'mobx';
import { IHotTopics, IReassignTasks, ITopicMetadata, ITasksDetail, IReassign, IPartition, IResource, IAnomalyFlow, IMetaData, ILabelValue, IExecute } from 'types/base-type';
import { getHotTopics, getReassignTasks, getTaskTopicMetadata, getReassignTasksDetail, getReassignTasksStatus, getInsufficientPartition, getResourceManagement, getAnomalyFlow, getMetaData, getExecuteSubTask, getExecuteTask } from 'lib/api';
import Moment from 'moment';
interface IPartitionMap {
[key: string]: ILabelValue[];
}
class Expert {
@observable
public hotTopics: IHotTopics[] = [];
@observable
public reassignTasks: IReassignTasks[] = [];
@observable
public taskTopicMetadata: ITopicMetadata[] = [];
@observable
public partitionIdMap: IPartitionMap = {};
@observable
public tasksDetail: ITasksDetail;
@observable
public tasksStatus: IReassign[];
@observable
public partitionedData: IPartition[] = [];
@observable
public resourceData: IResource[] = [];
@observable
public anomalyFlowData: IAnomalyFlow[] = [];
@observable
public metaData: IMetaData[] = [];
@observable
public active: number = null;
@action.bound
public changePhysical(data: number) {
this.active = data;
}
@action.bound
public setHotTopics(data: IHotTopics[]) {
this.hotTopics = data ? data.map((item, index) => {
item.key = index;
return item;
}) : [];
}
@action.bound
public setReassignTasks(data: IReassignTasks[]) {
this.reassignTasks = data ? data.map((item, index) => {
item.key = index;
return item;
}) : [];
}
@action.bound
public setTaskTopicMetadata(data: ITopicMetadata[]) {
this.taskTopicMetadata = data ? data.map((item, index) => {
item.key = index;
this.partitionIdMap[item.topicName] = item.partitionIdList.map(item => {
return {
label: item + '',
value: item + '',
};
});
return {
...item,
label: item.topicName,
value: item.topicName,
};
}) : [];
}
@action.bound
public setReassignTasksDetail(data: ITasksDetail) {
this.tasksDetail = data;
}
@action.bound
public setReassignTasksStatus(data: IReassign[]) {
this.tasksStatus = data ? data.map((item, index) => {
item.key = index;
item.reassignList.map((ele, i) => {
ele.key = i;
});
return item;
}) : [];
}
@action.bound
public setInsufficientPartition(data: IPartition[]) {
this.partitionedData = data ? data.map((item, index) => {
item.key = index;
return item;
}) : [];
}
@action.bound
public setResourceManagement(data: IResource[]) {
this.resourceData = data ? data.map((item, index) => {
item.key = index;
return item;
}) : [];
}
@action.bound
public setAnomalyFlow(data: IAnomalyFlow[]) {
this.anomalyFlowData = data ? data.map((item, index) => {
item.key = index;
return item;
}) : [];
}
@action.bound
public setMetaData(data: IMetaData[]) {
data = data ? data : [];
data.unshift({
clusterId: -1,
clusterName: '所有物理集群',
} as IMetaData);
this.metaData = data;
this.active = (this.metaData[0] || { clusterId: null }).clusterId;
}
public getHotTopics() {
getHotTopics().then(this.setHotTopics);
}
public getReassignTasks() {
getReassignTasks().then(this.setReassignTasks);
}
public getTaskTopicMetadata(clusterId: number) {
return getTaskTopicMetadata(clusterId).then(this.setTaskTopicMetadata);
}
public getReassignTasksDetail(taskId: number) {
getReassignTasksDetail(taskId).then(this.setReassignTasksDetail);
}
public getReassignTasksStatus(taskId: number) {
getReassignTasksStatus(taskId).then(this.setReassignTasksStatus);
}
public getInsufficientPartition() {
getInsufficientPartition().then(this.setInsufficientPartition);
}
public getResourceManagement() {
getResourceManagement().then(this.setResourceManagement);
}
public getAnomalyFlow(timestamp: number) {
getAnomalyFlow(timestamp).then(this.setAnomalyFlow);
}
public getMetaData(needDetail: boolean) {
getMetaData(needDetail).then(this.setMetaData);
}
public getExecuteSubTask(params: IExecute, taskId: number) {
return getExecuteSubTask(params).then(() => this.getReassignTasksDetail(taskId));
}
public getExecuteTask(params: IExecute) {
return getExecuteTask(params).then(() => this.getReassignTasks());
}
}
export const expert = new Expert();

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.2.0