86 lines
1.9 KiB
Python
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()
|