public_sentiment/web/manager/apschedule_manager.py

63 lines
1.6 KiB
Python
Raw Normal View History

2024-09-19 16:58:49 +08:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from apscheduler.schedulers.background import BackgroundScheduler
from web.config.apscheduler_config import ApschedulerConfig
class ApschedulerManager:
"""
apscheduler管理器
"""
def __init__(self):
super().__init__()
self.apscheduler = BackgroundScheduler(executors=ApschedulerConfig.executors,
job_defaults=ApschedulerConfig.job_defaults,
jobstores=ApschedulerConfig.job_stores, timezone='Asia/Shanghai')
def create(self, func_, job_id, seconds_, kwargs_):
"""
创建定时任务
"""
job = self.apscheduler.add_job(func_, 'interval', id=job_id, seconds=seconds_, kwargs=kwargs_, replace_existing=True)
self.apscheduler.start()
return job
def delete(self, job_id):
"""
删除定时任务
"""
self.apscheduler.remove_job(job_id)
def pause(self, job_id):
"""
暂停定时任务
"""
self.apscheduler.pause_job(job_id)
def resume(self, job_id):
"""
恢复定时任务
"""
self.apscheduler.resume_job(job_id)
def shutdown_apscheduler(self):
"""
关闭调度器
"""
self.apscheduler.shutdown()
def pause_apscheduler(self):
"""
暂停调度器
"""
self.apscheduler.pause()
def resume_apscheduler(self):
"""
恢复调度器
"""
self.apscheduler.resume()