python实现自动化定时任务
1、demo如下
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.executors.pool import ProcessPoolExecutor, ThreadPoolExecutor
import pytz
import logging
import time
# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('apscheduler')
# 定义示例任务函数
def task1():
logger.info("任务1执行中...")
def task2():
logger.info("任务2执行中...")
def task3():
logger.info("任务3执行中...")
# 创建调度器
executors = {
'default': ProcessPoolExecutor(max_workers=20),
'threadPool': ThreadPoolExecutor(max_workers=20)
}
tz = pytz.timezone('Asia/Shanghai')
scheduler = BackgroundScheduler(executors=executors, timezone=tz)
# 添加定时任务
scheduler.add_job(task1, trigger='interval', seconds=5, max_instances=1, executor='threadPool')
scheduler.add_job(task2, trigger='interval', minutes=1, max_instances=1, executor='threadPool')
scheduler.add_job(task3, trigger='interval', seconds=30, max_instances=1, executor='threadPool')
# 启动调度器
scheduler.start()
logger.info('调度器已启动')
try:
# 保持程序运行
while True:
time.sleep(1)
except (KeyboardInterrupt, SystemExit):
# 关闭调度器
scheduler.shutdown()
logger.info('调度器已关闭')

浙公网安备 33010602011771号