#!/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)