feat&fix: enhance task status handling and update logging configuration
This commit is contained in:
@@ -122,6 +122,8 @@ def get_task_status(task_type, task_id):
|
||||
status = "Error"
|
||||
elif log_data.get("exit_condition") and "message_exit: True" in log_data.get("exit_condition", ""):
|
||||
status = "Done (Message Exit)"
|
||||
elif log_data.get("exit_condition") and "thought_exit: True" in log_data.get("exit_condition", ""):
|
||||
status = "Done (Thought Exit)"
|
||||
elif len(steps) >= MAX_STEPS:
|
||||
status = "Done (Max Steps)"
|
||||
else:
|
||||
@@ -231,6 +233,8 @@ def get_task_status_brief(task_type, task_id):
|
||||
log_tail = result.stdout
|
||||
if "message_exit: True" in log_tail:
|
||||
status = "Done (Message Exit)"
|
||||
elif "thought_exit: True" in log_tail:
|
||||
status = "Done (Thought Exit)"
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ function updateTaskStatus(data) {
|
||||
case 'Done':
|
||||
case 'Done (Message Exit)':
|
||||
case 'Done (Max Steps)':
|
||||
case 'Done (Thought Exit)':
|
||||
statusClass = 'status-completed';
|
||||
statusIcon = 'fa-check-circle';
|
||||
break;
|
||||
@@ -183,7 +184,7 @@ function updateStatistics(data) {
|
||||
tasks.forEach(task => {
|
||||
if (task.status.status === 'Running' || task.status.status === 'Preparing' || task.status.status === 'Initializing') {
|
||||
activeTasks++;
|
||||
} else if (task.status.status === 'Done' || task.status.status === 'Done (Message Exit)' || task.status.status === 'Done (Max Steps)') {
|
||||
} else if (task.status.status === 'Done' || task.status.status === 'Done (Message Exit)' || task.status.status === 'Done (Max Steps)' || task.status.status === 'Done (Thought Exit)') {
|
||||
completedTasks++;
|
||||
// Calculate score if task is completed
|
||||
if (task.status.result) {
|
||||
@@ -241,7 +242,7 @@ function renderTasks(data) {
|
||||
if (currentFilter === 'active') {
|
||||
filteredTasks = tasks.filter(task => ['Running', 'Preparing', 'Initializing'].includes(task.status.status));
|
||||
} else if (currentFilter === 'completed') {
|
||||
filteredTasks = tasks.filter(task => task.status.status === 'Done' || task.status.status === 'Done (Message Exit)' || task.status.status === 'Done (Max Steps)');
|
||||
filteredTasks = tasks.filter(task => task.status.status === 'Done' || task.status.status === 'Done (Message Exit)' || task.status.status === 'Done (Max Steps)'|| task.status.status === 'Done (Thought Exit)');
|
||||
} else if (currentFilter === 'error') {
|
||||
filteredTasks = tasks.filter(task => task.status.status === 'Error');
|
||||
}
|
||||
@@ -264,7 +265,7 @@ function renderTasks(data) {
|
||||
tasks.forEach(task => {
|
||||
if (task.status.status === 'Running' || task.status.status === 'Preparing' || task.status.status === 'Initializing') {
|
||||
runningCount++;
|
||||
} else if (task.status.status === 'Done' || task.status.status === 'Done (Message Exit)' || task.status.status === 'Done (Max Steps)') {
|
||||
} else if (task.status.status === 'Done' || task.status.status === 'Done (Message Exit)' || task.status.status === 'Done (Max Steps)' || task.status.status === 'Done (Thought Exit)') {
|
||||
completedCount++;
|
||||
} else if (task.status.status === 'Error') {
|
||||
errorCount++;
|
||||
@@ -346,6 +347,7 @@ function renderTasks(data) {
|
||||
case 'Done':
|
||||
case 'Done (Message Exit)':
|
||||
case 'Done (Max Steps)':
|
||||
case 'Done (Thought Exit)':
|
||||
statusClass = 'status-completed';
|
||||
statusIcon = 'fa-check-circle';
|
||||
break;
|
||||
|
||||
@@ -173,7 +173,7 @@ pre {
|
||||
.status-not-started { background: linear-gradient(135deg, #f0f0f0, #e6e6e6); color: #555; }
|
||||
.status-preparing, .status-initializing { background: linear-gradient(135deg, #fff7e0, #ffe8a3); color: #8a6d00; }
|
||||
.status-running { background: linear-gradient(135deg, #e3f2fd, #bbdefb); color: #0d47a1; }
|
||||
.status-done, .status-done-message-exit, .status-done-max-steps { background: linear-gradient(135deg, #e8f5e9, #c8e6c9); color: #1b5e20; }
|
||||
.status-done, .status-done-message-exit, .status-done-max-steps, .status-done-thought-exit { background: linear-gradient(135deg, #e8f5e9, #c8e6c9); color: #1b5e20; }
|
||||
.status-error { background: linear-gradient(135deg, #ffebee, #ffcdd2); color: #b71c1c; }
|
||||
|
||||
.step-intent {
|
||||
|
||||
@@ -41,6 +41,11 @@
|
||||
<i class="fas fa-question-circle"></i>
|
||||
<span class="tooltip-text">Maximum steps reached, task completed</span>
|
||||
</span>
|
||||
{% elif task_status.status == 'Done (Thought Exit)' %}
|
||||
<span class="tooltip">
|
||||
<i class="fas fa-question-circle"></i>
|
||||
<span class="tooltip-text">Task completed with a thought exit condition</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
</dd>
|
||||
<dt>Current Step</dt>
|
||||
|
||||
Reference in New Issue
Block a user