62 lines
1.8 KiB
Python
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)
|