add ability to change celerybeat interval at runtime

This commit is contained in:
wh1te909
2020-03-30 07:53:14 +00:00
parent abd0e6019f
commit cd4a4e625d
2 changed files with 137 additions and 17 deletions

View File

@@ -14,11 +14,7 @@
<q-item clickable v-close-popup @click="getLog">
<q-item-section>Debug Log</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="showUpdateAgentsModal = true"
>
<q-item clickable v-close-popup @click="showUpdateAgentsModal = true">
<q-item-section>Update Agents</q-item-section>
</q-item>
</q-list>
@@ -29,11 +25,7 @@
Agents
<q-menu auto-close>
<q-list dense style="min-width: 100px">
<q-item
clickable
v-close-popup
@click="showUpdateAgentsModal = true"
>
<q-item clickable v-close-popup @click="showUpdateAgentsModal = true">
<q-item-section>Update Agents</q-item-section>
</q-item>
</q-list>
@@ -44,13 +36,14 @@
Settings
<q-menu auto-close>
<q-list dense style="min-width: 100px">
<q-item
clickable
v-close-popup
@click="showScriptManager"
>
<!-- script manager -->
<q-item clickable v-close-popup @click="showScriptManager">
<q-item-section>Script Manager</q-item-section>
</q-item>
<!-- core settings -->
<q-item clickable v-close-popup @click="showEditCoreSettingsModal = true">
<q-item-section>Global Settings</q-item-section>
</q-item>
</q-list>
</q-menu>
</div>
@@ -63,6 +56,10 @@
<q-dialog v-model="showAddSiteModal">
<AddSite @close="showAddSiteModal = false" :clients="clients" />
</q-dialog>
<!-- edit core settings modal -->
<q-dialog v-model="showEditCoreSettingsModal">
<EditCoreSettings @close="showEditCoreSettingsModal = false" />
</q-dialog>
<!-- debug log modal -->
<LogModal />
<!-- Update Agents Modal -->
@@ -88,15 +85,24 @@ import AddClient from "@/components/modals/clients/AddClient";
import AddSite from "@/components/modals/clients/AddSite";
import UpdateAgents from "@/components/modals/agents/UpdateAgents";
import ScriptManager from "@/components/ScriptManager";
import EditCoreSettings from "@/components/modals/coresettings/EditCoreSettings";
export default {
name: "FileBar",
components: { LogModal, AddClient, AddSite, UpdateAgents, ScriptManager },
components: {
LogModal,
AddClient,
AddSite,
UpdateAgents,
ScriptManager,
EditCoreSettings
},
props: ["clients"],
data() {
return {
showAddClientModal: false,
showAddSiteModal: false,
showUpdateAgentsModal: false
showUpdateAgentsModal: false,
showEditCoreSettingsModal: false
};
},
methods: {

View File

@@ -0,0 +1,114 @@
<template>
<q-card style="min-width: 600px">
<q-form @submit.prevent="editSettings">
<q-card-section class="row items-center">
<div class="text-h6">Global Settings</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
</q-card-section>
<q-card-section class="row">
<div class="col-2">Disk Check Interval:</div>
<q-input
dense
class="col-2"
type="number"
filled
label="Seconds"
v-model.number="settings.disk_check_interval"
:rules="[
val => !!val || '*Required',
val => val >= 10 || 'Minimum is 10 seconds',
val => val <= 3600 || 'Maximum is 3600 seconds'
]"
/>
<div class="col-1"></div>
<div class="col-3">CPU Load Check Interval:</div>
<q-input
dense
class="col-2"
type="number"
filled
label="Seconds"
v-model.number="settings.cpuload_check_interval"
:rules="[
val => !!val || '*Required',
val => val >= 10 || 'Minimum is 10 seconds',
val => val <= 3600 || 'Maximum is 3600 seconds'
]"
/>
</q-card-section>
<q-card-section class="row">
<div class="col-2">Memory Check Interval:</div>
<q-input
dense
class="col-2"
type="number"
filled
label="Seconds"
v-model.number="settings.mem_check_interval"
:rules="[
val => !!val || '*Required',
val => val >= 10 || 'Minimum is 10 seconds',
val => val <= 3600 || 'Maximum is 3600 seconds'
]"
/>
<div class="col-1"></div>
<div class="col-3">Win Service Check Interval:</div>
<q-input
dense
type="number"
filled
label="Seconds"
v-model.number="settings.win_svc_check_interval"
class="col-2"
:rules="[
val => !!val || '*Required',
val => val >= 10 || 'Minimum is 10 seconds',
val => val <= 3600 || 'Maximum is 3600 seconds'
]"
/>
</q-card-section>
<q-card-section class="row items-center">
<q-btn label="Save" color="primary" type="submit" />
<q-btn label="Cancel" v-close-popup />
</q-card-section>
</q-form>
</q-card>
</template>
<script>
import axios from "axios";
import mixins from "@/mixins/mixins";
export default {
name: "EditCoreSettings",
mixins: [mixins],
data() {
return {
settings: {}
};
},
methods: {
getCoreSettings() {
axios.get("/core/getcoresettings/").then(r => (this.settings = r.data));
},
editSettings() {
this.$q.loading.show();
axios
.patch("/core/editsettings/", this.settings)
.then(r => {
this.$q.loading.hide();
this.notifySuccess("Settings were edited!");
this.$emit("close");
})
.catch(() => {
this.$q.loading.hide();
this.notifyError("Something weng wrong");
});
}
},
created() {
this.getCoreSettings();
}
};
</script>