public_sentiment/web/controller/schedule_controller.py
2024-09-19 16:58:49 +08:00

62 lines
1.8 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from django.http import JsonResponse
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
from rest_framework import permissions
from rest_framework.decorators import api_view, action
from rest_framework.views import APIView
from web.controller.base_controller import BaseController
from web.handler.html_parser_handler import HtmlParserHandler
from web.manager.log_manager import LogManager
from web.util.dto_util import DtoUtil
from web.vo.scheduler_vo import SchedulerVo
Logger = LogManager.get_logger(__name__)
class SchedulerController(APIView, BaseController):
"""
创建定时任务
"""
@api_view(['POST'])
def create(self, request):
Logger.info('创建定时任务')
scheduler_vo = self.to_vo(request, SchedulerVo)
service_result = self.apscheduler_handler.create(HtmlParserHandler().parse_html, scheduler_vo.job_id,
scheduler_vo.seconds, {'url': scheduler_vo.url})
return JsonResponse(DtoUtil.service_result_to_api_result(service_result), safe=False)
@api_view(['GET'])
def delete(self, request):
"""
删除定时任务
"""
Logger.info('删除定时任务')
scheduler_vo = self.to_vo(request, SchedulerVo)
self.apscheduler_handler.delete(scheduler_vo.job_id)
@api_view(['POST'])
def update(self, request):
"""
修改定时任务
"""
Logger.info('修改定时任务')
scheduler_vo = self.to_vo(request, SchedulerVo)
@api_view(['POST'])
def search(self, request):
"""
查询定时任务
"""
Logger.info('查询定时任务')
scheduler_vo = self.to_vo(request, SchedulerVo)