Added result task table

This commit is contained in:
absurdo 2023-04-02 01:04:29 +02:00
parent cf07859027
commit 6336ce6587
3 changed files with 40 additions and 8 deletions

View file

@ -52,6 +52,7 @@ class Task:
self.connection=conn
self.logtask=tasks.LogTask(self.connection)
self.resulttask=tasks.ResultTask(self.connection)
self.task=tasks.Task(self.connection)
self.taskdone=tasks.TaskDone(self.connection)
@ -59,6 +60,7 @@ class Task:
self.logtask.reset_require()
self.task.reset_require()
self.resulttask.reset_require()
self.one_time=False
@ -358,6 +360,7 @@ class Task:
self.task.valid_fields=['name_task', 'description_task', 'error', 'status', 'server']
self.logtask.valid_fields=self.logtask.fields.keys()
self.resulttask.valid_fields=self.resulttask.fields.keys()
if self.id==0:
@ -479,11 +482,19 @@ class Task:
json_code['server']=self.server
self.logtask.insert(json_code)
if 'result' in json_code:
#{'result': 1, 'message': {'username': 'hosting', 'uid': 1002, 'gid': 1002, 'home': '/srv/sites'}, 'error': 0, 'progress': 100, 'task_id': 483, 'server': '192.168.122.55'}
#json_code['message']=json.dumps(json_code['message'])
#print(json_code)
self.resulttask.insert(json_code)
#print(self.resulttask.show_errors())
else:
if json_code['error']==1:
self.make_error_task()
return False
self.logtask.insert(json_code)
if json_code['error']==1:
self.make_error_task()
return False

View file

@ -5,6 +5,7 @@ from paramecio2.libraries.db.extrafields.arrayfield import ArrayField
from paramecio2.libraries.db.extrafields.parentfield import ParentField
from paramecio2.libraries.db.extrafields.datefield import DateField
from paramecio2.libraries.db.extrafields.dictfield import DictField
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
from paramecio2.libraries.i18n import I18n
import urllib3
try:
@ -301,6 +302,17 @@ class LogTask(WebModel):
self.register(ArrayField('data', corefields.CharField('data')))
self.register(corefields.BooleanField('code_error'))
#Class for save the result of task
class ResultTask(WebModel):
def __init__(self, connection):
super().__init__(connection)
self.register(corefields.ForeignKeyField('task_id', Task(connection), size=11, required=False, identifier_field='id', named_field="name_task"), True)
self.register(JsonValueField('message'), True)
self.register(IpField('server'), True)
# For grouping
class TaskDone(WebModel):

View file

@ -13,14 +13,21 @@ DISTRO=`( lsb_release -ds || cat /etc/*release || uname -om ) 2>/dev/null | head
if [[ $DISTRO =~ ^Debian ]] || [[ $DISTRO =~ ^Ubuntu ]]; then
sudo apt-get update
sudo apt-get -y install python3 python3-pip sudo
apt install sudo
sudo apt-get -y install python3 python3-pip
elif [[ $DISTRO =~ ^NAME=\"Arch ]]; then
sudo pacman -Syu --noconfirm python python-pip sudo
pacman -Syu sudo
sudo pacman -S --noconfirm python python-pip sudo
elif [[ $DISTRO =~ ^NAME=\"Rocky ]]; then
dnf install -y sudo
sudo dnf upgrade -y
sudo dnf install -y python python-pip sudo
#Install EPEL
dnf config-manager --set-enabled crb
@ -31,6 +38,8 @@ elif [[ $DISTRO =~ ^NAME=\"Rocky ]]; then
elif [[ $DISTRO =~ ^Fedora ]]; then
dnf install -y sudo
sudo dnf upgrade -y
sudo dnf install -y python3 python3-pip sudo