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.connection=conn
self.logtask=tasks.LogTask(self.connection) self.logtask=tasks.LogTask(self.connection)
self.resulttask=tasks.ResultTask(self.connection)
self.task=tasks.Task(self.connection) self.task=tasks.Task(self.connection)
self.taskdone=tasks.TaskDone(self.connection) self.taskdone=tasks.TaskDone(self.connection)
@ -59,6 +60,7 @@ class Task:
self.logtask.reset_require() self.logtask.reset_require()
self.task.reset_require() self.task.reset_require()
self.resulttask.reset_require()
self.one_time=False self.one_time=False
@ -358,6 +360,7 @@ class Task:
self.task.valid_fields=['name_task', 'description_task', 'error', 'status', 'server'] self.task.valid_fields=['name_task', 'description_task', 'error', 'status', 'server']
self.logtask.valid_fields=self.logtask.fields.keys() self.logtask.valid_fields=self.logtask.fields.keys()
self.resulttask.valid_fields=self.resulttask.fields.keys()
if self.id==0: if self.id==0:
@ -476,14 +479,22 @@ class Task:
else: else:
json_code['task_id']=self.id json_code['task_id']=self.id
json_code['server']=self.server json_code['server']=self.server
self.logtask.insert(json_code)
if json_code['error']==1: if 'result' in json_code:
self.make_error_task() #{'result': 1, 'message': {'username': 'hosting', 'uid': 1002, 'gid': 1002, 'home': '/srv/sites'}, 'error': 0, 'progress': 100, 'task_id': 483, 'server': '192.168.122.55'}
return False #json_code['message']=json.dumps(json_code['message'])
#print(json_code)
self.resulttask.insert(json_code)
#print(self.resulttask.show_errors())
else:
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.parentfield import ParentField
from paramecio2.libraries.db.extrafields.datefield import DateField from paramecio2.libraries.db.extrafields.datefield import DateField
from paramecio2.libraries.db.extrafields.dictfield import DictField from paramecio2.libraries.db.extrafields.dictfield import DictField
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
from paramecio2.libraries.i18n import I18n from paramecio2.libraries.i18n import I18n
import urllib3 import urllib3
try: try:
@ -301,6 +302,17 @@ class LogTask(WebModel):
self.register(ArrayField('data', corefields.CharField('data'))) self.register(ArrayField('data', corefields.CharField('data')))
self.register(corefields.BooleanField('code_error')) 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 # For grouping
class TaskDone(WebModel): 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 if [[ $DISTRO =~ ^Debian ]] || [[ $DISTRO =~ ^Ubuntu ]]; then
sudo apt-get update 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 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 elif [[ $DISTRO =~ ^NAME=\"Rocky ]]; then
dnf install -y sudo
sudo dnf upgrade -y
sudo dnf install -y python python-pip sudo sudo dnf install -y python python-pip sudo
#Install EPEL #Install EPEL
dnf config-manager --set-enabled crb dnf config-manager --set-enabled crb
@ -31,6 +38,8 @@ elif [[ $DISTRO =~ ^NAME=\"Rocky ]]; then
elif [[ $DISTRO =~ ^Fedora ]]; then elif [[ $DISTRO =~ ^Fedora ]]; then
dnf install -y sudo
sudo dnf upgrade -y sudo dnf upgrade -y
sudo dnf install -y python3 python3-pip sudo sudo dnf install -y python3 python3-pip sudo