develop增加同步数据库并重启服务

This commit is contained in:
caoqianming 2022-03-29 08:53:19 +08:00
parent 77a081c678
commit 8b56148949
4 changed files with 26 additions and 6 deletions

View File

@ -0,0 +1 @@
from rest_framework import serializers

View File

@ -24,7 +24,7 @@ def backup_database():
return completed
@shared_task
def reload_server():
def reload_server_git():
command = 'bash {}/git.sh'.format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed
@ -35,6 +35,12 @@ def reload_server_only():
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed
@shared_task
def reload_server():
command = 'bash {}/reload.sh'.format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed
@shared_task
def backup_media():
command = 'bash {}/backup_media.sh'.format(SH_PATH)

View File

@ -2,7 +2,7 @@ from django.db.models import base
from rest_framework import urlpatterns
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from apps.develop.views import BackupDatabase, BackupMedia, CleanDataView, ReloadServer, ReloadServerOnly, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg
from apps.develop.views import BackupDatabase, BackupMedia, CleanDataView, ReloadServer, ReloadServerGit, ReloadServerOnly, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg
urlpatterns = [
path('cleandata/', CleanDataView.as_view()),
@ -14,8 +14,9 @@ urlpatterns = [
path('update_equip_state/', UpdateEquipState.as_view()),
path('update_need_to_order/', UpdateNeedToOrder.as_view()),
path('update_fifo_number/', UpdateFIFONumber.as_view()),
path('reload_server/', ReloadServer.as_view()),
path('reload_server_git/', ReloadServerGit.as_view()),
path('reload_server_only/', ReloadServerOnly.as_view()),
path('reload_server/', ReloadServer.as_view()),
path('backup_database/', BackupDatabase.as_view()),
path('backup_media/', BackupMedia.as_view())
]

View File

@ -4,7 +4,7 @@ from rest_framework.decorators import permission_classes
from rest_framework.views import APIView
from rest_framework.permissions import IsAdminUser, AllowAny
from rest_framework.response import Response
from apps.develop.tasks import backup_database, backup_media, reload_server, reload_server_only
from apps.develop.tasks import backup_database, backup_media, reload_server_git, reload_server_only, reload_server
from apps.inm.models import FIFO, FIFOItem, Inventory, MaterialBatch
from apps.mtm.models import Material
from apps.pm.models import ProductionPlan, SubProductionPlan
@ -129,14 +129,14 @@ class CorrectWproduct(APIView):
# WProduct.objects.filter(is_hidden=True).update(act_state=WProduct.WPR_ACT_STATE_USED)
class ReloadServer(APIView):
class ReloadServerGit(APIView):
authentication_classes = []
permission_classes = []
def post(self, request):
"""
拉取代码并重启服务
"""
completed = reload_server()
completed = reload_server_git()
if completed.returncode == 0:
return Response()
else:
@ -154,6 +154,18 @@ class ReloadServerOnly(APIView):
else:
raise APIException(completed.stdout)
class ReloadServer(APIView):
permission_classes = [IsAdminUser]
def post(self, request):
"""
同步数据库并重启服务
"""
completed = reload_server()
if completed.returncode == 0:
return Response()
else:
raise APIException(completed.stdout)
class BackupDatabase(APIView):
permission_classes = [IsAdminUser]
def post(self, request):