Added Task runner status to Tasks page in WebUI.

This commit is contained in:
Abdulmhsen B. A. A.
2024-07-08 15:16:15 +03:00
parent de6addbfcd
commit 667487602e
6 changed files with 84 additions and 31 deletions

View File

@@ -7,6 +7,13 @@
</span>
<div class="is-pulled-right">
<div class="field is-grouped">
<p class="control">
<button class="button has-text-dark" @click="show_worker_status=!show_worker_status" :disabled="isLoading"
:class="{'has-background-success-90':status?.status, 'has-background-warning-90': !status?.status}"
v-tooltip.bottom="'Toggle worker status'">
<span class="icon"><i :class="`fas fa-microchip`"></i></span>
</button>
</p>
<p class="control">
<button class="button is-info" @click="loadContent()" :disabled="isLoading"
:class="{'is-loading':isLoading}">
@@ -43,6 +50,20 @@
icon="fas fa-spinner fa-spin" message="Loading data. Please wait..."/>
</div>
<div class="column is-12" v-if="status && (show_worker_status || !status.status)">
<Message
class="is-2"
:message_class="`has-text-dark ${status.status ? 'has-background-success-90' : 'has-background-warning-90'}`"
:title="`Task runner process is ${status.status ? 'active' : 'not active'}`"
:icon="`fas fa-${status.status ? 'pause' : 'exclamation-circle'}`">
{{ status.message }}
<p v-if="!status.status">
<span class="icon"><i class="fas fa-info-circle"></i></span>
To restart the task runner, you have to restart the container.
</p>
</Message>
</div>
<div v-for="task in tasks" :key="task.name" class="column is-6-tablet is-12-mobile">
<div class="card" :class="{ 'is-gray' : !task.enabled, 'is-success': task.enabled }">
<header class="card-header">
@@ -168,8 +189,10 @@ useHead({title: 'Tasks'})
const tasks = ref([])
const queued = ref([])
const status = ref({})
const isLoading = ref(false)
const show_page_tips = useStorage('show_page_tips', true)
const show_worker_status = useStorage('show_worker_status', false)
const loadContent = async () => {
isLoading.value = true
@@ -179,6 +202,7 @@ const loadContent = async () => {
const json = await response.json()
tasks.value = json.tasks
queued.value = json.queued
status.value = json.status
} catch (e) {
notification('error', 'Error', `Request error. ${e.message}`)
} finally {