fix: did not cache workers and clusters in model files
This commit is contained in:
@@ -20,17 +20,30 @@ export const getRequestId = () => {
|
|||||||
return store.get(requestIdAtom);
|
return store.get(requestIdAtom);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// store for cluster list: res.items from api
|
||||||
export const clusterListAtom = atom<
|
export const clusterListAtom = atom<
|
||||||
{
|
{
|
||||||
label: string;
|
label: string;
|
||||||
value: number;
|
value: number;
|
||||||
|
provider: string;
|
||||||
|
state: string;
|
||||||
|
is_default: boolean;
|
||||||
|
workers: number;
|
||||||
|
ready_workers: number;
|
||||||
|
gpus: number;
|
||||||
}[]
|
}[]
|
||||||
>([]);
|
>([]);
|
||||||
|
|
||||||
|
// store for worker list: res.items from api
|
||||||
export const workerListAtom = atom<
|
export const workerListAtom = atom<
|
||||||
{
|
{
|
||||||
label: string;
|
label: string;
|
||||||
value: number;
|
value: number;
|
||||||
|
cluster_id: number;
|
||||||
|
state: string;
|
||||||
|
id: number;
|
||||||
|
labels: Record<string, any>;
|
||||||
|
name: string;
|
||||||
}[]
|
}[]
|
||||||
>([]);
|
>([]);
|
||||||
|
|
||||||
|
|||||||
@@ -153,6 +153,8 @@ export const useGenerateWorkerOptions = () => {
|
|||||||
{ state: string; labels: Record<string, string>; cluster_id: number }
|
{ state: string; labels: Record<string, string>; cluster_id: number }
|
||||||
>[]
|
>[]
|
||||||
>([]);
|
>([]);
|
||||||
|
const [, setClusterListAtom] = useAtom(clusterListAtom);
|
||||||
|
const [, setWorkerListAtom] = useAtom(workerListAtom);
|
||||||
|
|
||||||
const generateCascaderWorkerOptions = (
|
const generateCascaderWorkerOptions = (
|
||||||
workerList: WorkerListItem[],
|
workerList: WorkerListItem[],
|
||||||
@@ -201,29 +203,31 @@ export const useGenerateWorkerOptions = () => {
|
|||||||
const data = await getDataList();
|
const data = await getDataList();
|
||||||
const [workerList, clusterList] = data;
|
const [workerList, clusterList] = data;
|
||||||
generateCascaderWorkerOptions(workerList, clusterList);
|
generateCascaderWorkerOptions(workerList, clusterList);
|
||||||
setWorkersList(
|
|
||||||
workerList.map((item) => ({
|
const workerOptions = workerList.map((item) => ({
|
||||||
cluster_id: item.cluster_id,
|
cluster_id: item.cluster_id,
|
||||||
state: item.state,
|
state: item.state,
|
||||||
label: item.name,
|
label: item.name,
|
||||||
value: item.id,
|
value: item.id,
|
||||||
id: item.id,
|
id: item.id,
|
||||||
labels: item.labels || {},
|
labels: item.labels || {},
|
||||||
name: item.name
|
name: item.name
|
||||||
}))
|
}));
|
||||||
);
|
const clusterOptions = clusterList.map((item) => ({
|
||||||
setClusterList(
|
label: item.name,
|
||||||
clusterList.map((item) => ({
|
value: item.id,
|
||||||
label: item.name,
|
provider: item.provider as string,
|
||||||
value: item.id,
|
state: item.state,
|
||||||
provider: item.provider as string,
|
is_default: item.is_default,
|
||||||
state: item.state,
|
workers: item.workers,
|
||||||
is_default: item.is_default,
|
ready_workers: item.ready_workers,
|
||||||
workers: item.workers,
|
gpus: item.gpus
|
||||||
ready_workers: item.ready_workers,
|
}));
|
||||||
gpus: item.gpus
|
|
||||||
}))
|
setWorkersList(workerOptions);
|
||||||
);
|
setClusterList(clusterOptions);
|
||||||
|
setWorkerListAtom(workerOptions);
|
||||||
|
setClusterListAtom(clusterOptions);
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
getWorkerOptionList,
|
getWorkerOptionList,
|
||||||
@@ -280,7 +284,12 @@ export default function useFormInitialValues() {
|
|||||||
const list =
|
const list =
|
||||||
data.items?.map((item) => ({
|
data.items?.map((item) => ({
|
||||||
label: item.name,
|
label: item.name,
|
||||||
value: item.id
|
value: item.id,
|
||||||
|
cluster_id: item.cluster_id,
|
||||||
|
state: item.state,
|
||||||
|
id: item.id,
|
||||||
|
labels: item.labels || {},
|
||||||
|
name: item.name
|
||||||
})) || [];
|
})) || [];
|
||||||
setWorkerList(data.items);
|
setWorkerList(data.items);
|
||||||
setWorkerListAtom(list);
|
setWorkerListAtom(list);
|
||||||
|
|||||||
Reference in New Issue
Block a user