异步执行任务reload server

This commit is contained in:
曹前明 2022-07-21 16:19:23 +08:00
parent 2f65784a43
commit 02b4ffbdca
5 changed files with 17 additions and 11 deletions

View File

@ -32,8 +32,8 @@ def reload_server_git():
@shared_task
def reload_web_git():
command = 'bash {}/git_web.sh'.format(SH_PATH)
subprocess.run(command, shell=True, capture_output=True, text=True)
# return completed
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed
@shared_task

View File

@ -16,13 +16,14 @@ class ReloadServerGit(APIView):
拉取后端代码并重启服务
"""
completed = reload_server_git()
if completed.returncode == 0:
return Response()
else:
from server.settings import myLogger
myLogger.error(completed)
raise ParseError(completed.stderr)
reload_server_git.delay()
return Response()
# if completed.returncode == 0:
# return Response()
# else:
# from server.settings import myLogger
# myLogger.error(completed)
# raise ParseError(completed.stderr)
class ReloadClientGit(APIView):

View File

@ -30,7 +30,7 @@ class EventCateViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin, Custo
class AlgoChannelViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'event_cate.update', 'delete': 'event_cate.create'}
perms_map = {'get': '*', 'post': 'event_cate.update', 'delete': 'event_cate.update'}
queryset = AlgoChannel.objects.all()
create_serializer_class = AlgoChannelCreateSerializer
serializer_class = AlgoChannelSerializer

View File

@ -117,6 +117,9 @@ class SpClient:
sns (list): 喇叭sn队列
v_num (int): 播放次数
"""
uri = path
if 'http' in uri:
uri = settings.BASE_URL + path
json = {
"sns": sns,
"type": "req",
@ -126,7 +129,7 @@ class SpClient:
"vol": 50,
"urls": [{
"name": "alarm.mp3",
"uri": settings.BASE_URL + path
"uri": uri
}]
}
}

View File

@ -45,6 +45,8 @@ class SpTestView(APIView):
音响测试接口
"""
# spClient.speak('http://1.203.161.103:2800/media/2022/07/15/alarm2.mp3', ['ls20://0201874E9530'], v_num=2)
# return Response()
params = {"page": 1, "pageSize": 10000}
_, res = spClient.request(**spapis['device_list'], params=params)
return Response(res)