重启服务和备份数据库task
This commit is contained in:
parent
dd51db56f1
commit
f4f79089cf
|
@ -0,0 +1,25 @@
|
||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
from rest_framework.response import Response
|
||||||
|
from celery import shared_task
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@shared_task
|
||||||
|
def backup_database():
|
||||||
|
"""
|
||||||
|
备份数据库
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
ret = os.popen('sudo pg_dump -U postgres -d hberp -f /home/lighthouse/hberp_backup.sql')
|
||||||
|
return Response(ret.read())
|
||||||
|
|
||||||
|
@shared_task
|
||||||
|
def reload_server():
|
||||||
|
import os # 更新后端
|
||||||
|
os.chdir('/home/lighthouse/hberp')
|
||||||
|
ret = os.popen('sudo git pull && sudo service supervisor reload')
|
||||||
|
return Response(ret.read())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ from django.db.models import base
|
||||||
from rest_framework import urlpatterns
|
from rest_framework import urlpatterns
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
from apps.develop.views import CleanDataView, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg
|
from apps.develop.views import BackupDatabase, CleanDataView, ReloadServer, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('cleandata/', CleanDataView.as_view()),
|
path('cleandata/', CleanDataView.as_view()),
|
||||||
|
@ -13,6 +13,8 @@ urlpatterns = [
|
||||||
path('update_spg/', UpdateSpg.as_view()),
|
path('update_spg/', UpdateSpg.as_view()),
|
||||||
path('update_equip_state/', UpdateEquipState.as_view()),
|
path('update_equip_state/', UpdateEquipState.as_view()),
|
||||||
path('update_need_to_order/', UpdateNeedToOrder.as_view()),
|
path('update_need_to_order/', UpdateNeedToOrder.as_view()),
|
||||||
path('update_fifo_number/', UpdateFIFONumber.as_view())
|
path('update_fifo_number/', UpdateFIFONumber.as_view()),
|
||||||
|
path('reload_server/', ReloadServer.as_view()),
|
||||||
|
path('backup_database/', BackupDatabase.as_view())
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ from rest_framework.decorators import permission_classes
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from rest_framework.permissions import IsAdminUser
|
from rest_framework.permissions import IsAdminUser
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
from apps.develop.tasks import backup_database, reload_server
|
||||||
from apps.inm.models import FIFO, FIFOItem, Inventory, MaterialBatch
|
from apps.inm.models import FIFO, FIFOItem, Inventory, MaterialBatch
|
||||||
from apps.mtm.models import Material
|
from apps.mtm.models import Material
|
||||||
from apps.pm.models import ProductionPlan, SubProductionPlan
|
from apps.pm.models import ProductionPlan, SubProductionPlan
|
||||||
|
@ -118,3 +119,14 @@ class UpdateFIFONumber(APIView):
|
||||||
i.number = 'CK' + ranstr(7)
|
i.number = 'CK' + ranstr(7)
|
||||||
i.save()
|
i.save()
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
|
class ReloadServer(APIView):
|
||||||
|
permission_classes = [IsAdminUser]
|
||||||
|
def post(self, request):
|
||||||
|
reload_server()
|
||||||
|
|
||||||
|
|
||||||
|
class BackupDatabase(APIView):
|
||||||
|
permission_classes = [IsAdminUser]
|
||||||
|
def post(self, request):
|
||||||
|
backup_database()
|
Loading…
Reference in New Issue