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

86 lines
1.9 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from web.dto.service_result import ServiceResult
from web.enum.service_result_enum import ServiceResultEnum
from web.handler.base_handler import BaseHandler
from web.manager.apschedule_manager import ApschedulerManager
from web.manager.log_manager import LogManager
Logger = LogManager.get_logger(__name__)
class ApschedulerHandler(BaseHandler):
"""
调度器
"""
def __init__(self):
super().__init__()
self.apscheduler_manager = ApschedulerManager()
def create(self, _func, job_id, _seconds, _kwargs):
"""
创建定时任务
"""
Logger.info('创建定时任务')
job = self.apscheduler_manager.create(func_=_func, job_id=job_id, seconds_=_seconds, kwargs_=_kwargs)
return ServiceResult.ok(ServiceResultEnum.SAVE_SUCCESS.value, job.id, ServiceResultEnum.SAVE_SUCCESS_DESCRIPTION.value)
def delete(self, job_id):
"""
删除定时任务
"""
Logger.info('删除定时任务')
self.apscheduler_manager.remove_job(job_id)
def pause(self, job_id):
"""
暂停定时任务
"""
Logger.info('暂停定时任务')
self.apscheduler_manager.pause_job(job_id)
def resume(self, job_id):
"""
恢复定时任务
"""
Logger.info('恢复定时任务')
self.apscheduler_manager.resume_job(job_id)
def shutdown_apscheduler(self):
"""
关闭调度器
"""
Logger.info('关闭调度器')
self.apscheduler_manager.shutdown()
def pause_apscheduler(self):
"""
暂停调度器
"""
Logger.info('暂停调度器')
self.apscheduler_manager.pause()
def resume_apscheduler(self):
"""
恢复调度器
"""
Logger.info('恢复调度器')
self.apscheduler_manager.resume()