mirror of
https://github.com/langgenius/dify.git
synced 2026-05-09 21:28:25 +08:00
fix: return invalidate promises and parallelize invalidations
This commit is contained in:
parent
740fafc926
commit
aad15a0777
@ -193,14 +193,16 @@ export const useToolSelectorState = ({
|
||||
}, [value, onSelect])
|
||||
|
||||
const handleInstall = useCallback(async () => {
|
||||
const invalidateBuiltinPromise = invalidateAllBuiltinTools()
|
||||
const invalidateInstalledPromise = invalidateInstalledPluginList()
|
||||
try {
|
||||
await invalidateAllBuiltinTools()
|
||||
await invalidateBuiltinPromise
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to invalidate built-in tools cache', error)
|
||||
}
|
||||
try {
|
||||
await invalidateInstalledPluginList()
|
||||
await invalidateInstalledPromise
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Failed to invalidate installed plugin list cache', error)
|
||||
|
||||
@ -221,9 +221,11 @@ export const useInspectVarsCrudCommon = ({
|
||||
const deleteAllInspectorVars = useCallback(async () => {
|
||||
const { deleteAllInspectVars } = workflowStore.getState()
|
||||
await doDeleteAllInspectorVars()
|
||||
await invalidateConversationVarValues()
|
||||
await invalidateSysVarValues()
|
||||
invalidateSandboxFiles()
|
||||
await Promise.all([
|
||||
invalidateConversationVarValues(),
|
||||
invalidateSysVarValues(),
|
||||
invalidateSandboxFiles(),
|
||||
])
|
||||
deleteAllInspectVars()
|
||||
handleEdgeCancelRunningStatus()
|
||||
}, [doDeleteAllInspectorVars, invalidateConversationVarValues, invalidateSysVarValues, invalidateSandboxFiles, workflowStore, handleEdgeCancelRunningStatus])
|
||||
|
||||
@ -35,7 +35,7 @@ export const useCreateMetaData = (datasetId: string) => {
|
||||
export const useInvalidAllDocumentMetaData = (datasetId: string) => {
|
||||
const queryClient = useQueryClient()
|
||||
return () => {
|
||||
queryClient.invalidateQueries({
|
||||
return queryClient.invalidateQueries({
|
||||
queryKey: [NAME_SPACE, 'document', datasetId],
|
||||
exact: false, // invalidate all document metadata: [NAME_SPACE, 'document', datasetId, documentId]
|
||||
})
|
||||
@ -48,12 +48,14 @@ const useInvalidAllMetaData = (datasetId: string) => {
|
||||
const invalidateAllDocumentMetaData = useInvalidAllDocumentMetaData(datasetId)
|
||||
|
||||
return async () => {
|
||||
// meta data in dataset
|
||||
await invalidDatasetMetaData()
|
||||
// meta data in document list
|
||||
invalidDocumentList()
|
||||
// meta data in single document
|
||||
await invalidateAllDocumentMetaData() // meta data in document
|
||||
await Promise.all([
|
||||
// meta data in dataset
|
||||
invalidDatasetMetaData(),
|
||||
// meta data in document list
|
||||
invalidDocumentList(),
|
||||
// meta data in single document
|
||||
invalidateAllDocumentMetaData(),
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
@ -113,24 +115,27 @@ export const useBatchUpdateDocMetadata = () => {
|
||||
operation_data: payload.metadata_list,
|
||||
},
|
||||
})
|
||||
// meta data in dataset
|
||||
await queryClient.invalidateQueries({
|
||||
const invalidateDataset = queryClient.invalidateQueries({
|
||||
queryKey: [NAME_SPACE, 'dataset', payload.dataset_id],
|
||||
})
|
||||
// meta data in document list
|
||||
await queryClient.invalidateQueries({
|
||||
const invalidateDocumentList = queryClient.invalidateQueries({
|
||||
queryKey: [NAME_SPACE, 'document', payload.dataset_id],
|
||||
})
|
||||
await queryClient.invalidateQueries({
|
||||
const invalidateDocumentTable = queryClient.invalidateQueries({
|
||||
queryKey: [...useDocumentListKey, payload.dataset_id],
|
||||
})
|
||||
|
||||
// meta data in single document
|
||||
await Promise.all(documentIds.map(documentId => queryClient.invalidateQueries(
|
||||
const invalidateDocuments = Promise.all(documentIds.map(documentId => queryClient.invalidateQueries(
|
||||
{
|
||||
queryKey: [NAME_SPACE, 'document', payload.dataset_id, documentId],
|
||||
},
|
||||
)))
|
||||
|
||||
await Promise.all([
|
||||
invalidateDataset,
|
||||
invalidateDocumentList,
|
||||
invalidateDocumentTable,
|
||||
invalidateDocuments,
|
||||
])
|
||||
},
|
||||
})
|
||||
}
|
||||
@ -140,7 +145,7 @@ export const useUpdateBuiltInStatus = (datasetId: string) => {
|
||||
return useMutation({
|
||||
mutationFn: async (enabled: boolean) => {
|
||||
await post(`/datasets/${datasetId}/metadata/built-in/${enabled ? 'enable' : 'disable'}`)
|
||||
invalidDatasetMetaData()
|
||||
void invalidDatasetMetaData()
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@ -8,8 +8,8 @@ export const useInvalid = (key?: QueryKey) => {
|
||||
const queryClient = useQueryClient()
|
||||
return () => {
|
||||
if (!key)
|
||||
return
|
||||
queryClient.invalidateQueries(
|
||||
return Promise.resolve()
|
||||
return queryClient.invalidateQueries(
|
||||
{
|
||||
queryKey: key,
|
||||
},
|
||||
@ -21,8 +21,8 @@ export const useReset = (key?: QueryKey) => {
|
||||
const queryClient = useQueryClient()
|
||||
return () => {
|
||||
if (!key)
|
||||
return
|
||||
queryClient.resetQueries(
|
||||
return Promise.resolve()
|
||||
return queryClient.resetQueries(
|
||||
{
|
||||
queryKey: key,
|
||||
},
|
||||
|
||||
@ -26,7 +26,7 @@ export const useEndpointList = (pluginID: string) => {
|
||||
export const useInvalidateEndpointList = () => {
|
||||
const queryClient = useQueryClient()
|
||||
return (pluginID: string) => {
|
||||
queryClient.invalidateQueries(
|
||||
return queryClient.invalidateQueries(
|
||||
{
|
||||
queryKey: [NAME_SPACE, 'list', pluginID],
|
||||
},
|
||||
|
||||
@ -55,12 +55,14 @@ export function useSandboxFileDownloadUrl(
|
||||
export function useInvalidateSandboxFiles() {
|
||||
const queryClient = useQueryClient()
|
||||
return useCallback(() => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: consoleQuery.sandboxFile.listFiles.key(),
|
||||
})
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: consoleQuery.sandboxFile.downloadFile.key(),
|
||||
})
|
||||
return Promise.all([
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: consoleQuery.sandboxFile.listFiles.key(),
|
||||
}),
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: consoleQuery.sandboxFile.downloadFile.key(),
|
||||
}),
|
||||
])
|
||||
}, [queryClient])
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user