Toggle navigation
Toggle navigation
This project
Loading...
Sign in
万朱浩
/
Venue-Ops
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
马一丁
2025-12-19 12:38:28 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
df349867ee48431d664ec55b9d265681ba62d812
df349867
1 parent
2eda6e3a
Add automatic refresh functionality to GraphRAG
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
0 deletions
templates/index.html
templates/index.html
View file @
df34986
...
...
@@ -1858,6 +1858,9 @@
let
graphPanelTaskId
=
null
;
let
graphPanelState
=
'idle'
;
let
graphPanelLoading
=
false
;
let
graphPanelPollingTimer
=
null
;
let
graphPanelPollingTaskId
=
null
;
const
GRAPH_PANEL_POLL_INTERVAL
=
4000
;
let
configAutoRefreshTimer
=
null
;
let
systemStarted
=
false
;
let
systemStarting
=
false
;
...
...
@@ -5156,6 +5159,8 @@ function getConsoleContainer() {
const
target
=
graphPanelTaskId
||
(
lastCompletedReportTask
?
lastCompletedReportTask
.
task_id
:
null
);
const
url
=
target
?
`
/
graph
-
viewer
/
$
{
target
}
`
:
'/graph-viewer'
;
window
.
open
(
url
,
'_blank'
);
// 用户手动查看时也可尝试拉取最新数据
refreshGraphPanel
(
target
||
graphPanelTaskId
,
true
);
});
}
...
...
@@ -5224,6 +5229,9 @@ function getConsoleContainer() {
if
(
message
)
{
setGraphPanelPlaceholder
(
message
,
state
===
'error'
?
'error'
:
''
);
}
if
(
state
===
'ready'
||
state
===
'error'
)
{
stopGraphPanelPolling
();
}
}
function
setGraphPanelPlaceholder
(
message
,
type
=
''
)
{
...
...
@@ -5421,6 +5429,25 @@ function getConsoleContainer() {
hideGraphDetail
();
}
function
startGraphPanelPolling
(
taskId
)
{
stopGraphPanelPolling
();
graphPanelPollingTaskId
=
taskId
||
graphPanelTaskId
||
(
lastCompletedReportTask
?
lastCompletedReportTask
.
task_id
:
null
);
if
(
!
graphPanelPollingTaskId
)
{
return
;
}
const
poll
=
()
=>
refreshGraphPanel
(
graphPanelPollingTaskId
,
true
);
poll
();
graphPanelPollingTimer
=
setInterval
(
poll
,
GRAPH_PANEL_POLL_INTERVAL
);
}
function
stopGraphPanelPolling
()
{
if
(
graphPanelPollingTimer
)
{
clearInterval
(
graphPanelPollingTimer
);
graphPanelPollingTimer
=
null
;
}
graphPanelPollingTaskId
=
null
;
}
async
function
fetchGraphData
(
taskId
=
null
)
{
const
url
=
taskId
?
`
/
api
/
graph
/
$
{
taskId
}
`
:
'/api/graph/latest'
;
try
{
...
...
@@ -5493,6 +5520,7 @@ function getConsoleContainer() {
updateGraphStats
({
nodes
:
[],
edges
:
[]
});
setGraphPanelState
(
'loading'
,
'报告生成中,知识图谱生成后自动刷新'
);
setGraphPanelPlaceholder
(
'正在生成知识图谱...'
);
startGraphPanelPolling
(
graphPanelTaskId
);
});
}
...
...
@@ -5927,6 +5955,7 @@ function getConsoleContainer() {
updateTaskProgressStatus
(
null
,
'error'
,
'启动失败: '
+
data
.
error
);
// 重置标志允许重新尝试
autoGenerateTriggered
=
false
;
stopGraphPanelPolling
();
reportTaskId
=
null
;
setGenerateButtonState
(
false
);
appendReportStreamLine
(
'任务启动失败: '
+
(
data
.
error
||
'未知错误'
),
'error'
);
...
...
@@ -5939,6 +5968,7 @@ function getConsoleContainer() {
updateTaskProgressStatus
(
null
,
'error'
,
'生成报告失败: '
+
error
.
message
);
// 重置标志允许重新尝试
autoGenerateTriggered
=
false
;
stopGraphPanelPolling
();
reportTaskId
=
null
;
setGenerateButtonState
(
false
);
appendReportStreamLine
(
'任务启动阶段异常: '
+
error
.
message
,
'error'
);
...
...
@@ -5985,6 +6015,7 @@ function getConsoleContainer() {
showMessage
(
'报告生成完成!'
,
'success'
);
graphPanelTaskId
=
data
.
task
.
task_id
;
refreshGraphPanel
(
data
.
task
.
task_id
,
true
);
stopGraphPanelPolling
();
// 自动显示报告
viewReport
(
taskId
);
...
...
@@ -5997,6 +6028,7 @@ function getConsoleContainer() {
}
else
if
(
data
.
task
.
status
===
'error'
)
{
stopProgressPolling
();
showMessage
(
'报告生成失败: '
+
data
.
task
.
error_message
,
'error'
);
stopGraphPanelPolling
();
// 重置自动生成标志,允许重新尝试
autoGenerateTriggered
=
false
;
...
...
@@ -6356,6 +6388,7 @@ function getConsoleContainer() {
case
'completed'
:
appendReportStreamLine
(
payload
.
message
||
'任务完成'
,
'success'
);
stopProgressPolling
();
stopGraphPanelPolling
();
// 【修复】任务完成前强制刷新最后一次日志,确保所有日志都被读取
if
(
reportLogManager
&&
reportLogManager
.
isRunning
)
{
...
...
@@ -6383,6 +6416,7 @@ function getConsoleContainer() {
case
'cancelled'
:
appendReportStreamLine
(
payload
.
message
||
'任务已取消'
,
'warn'
);
stopProgressPolling
();
stopGraphPanelPolling
();
safeCloseReportStream
();
updateReportStreamStatus
(
'idle'
);
reportTaskId
=
null
;
...
...
@@ -6391,6 +6425,7 @@ function getConsoleContainer() {
case
'error'
:
appendReportStreamLine
(
payload
.
message
||
'任务失败'
,
'error'
,
{
badge
:
'ERROR'
});
stopProgressPolling
();
stopGraphPanelPolling
();
safeCloseReportStream
();
updateReportStreamStatus
(
'error'
);
reportTaskId
=
null
;
...
...
Please
register
or
login
to post a comment