flask项目中使用schedule定时任务案例

复制代码
pip install schedule

代码

python 复制代码
import schedule
# 定义定时任务
schedule.every().day.at("22:00").do(update_data)
schedule.every().day.at("22:00").do(update_cumulative_data)

# 启动定时任务
def run_scheduler():
    while True:
        schedule.run_pending()
        time.sleep(1)

if __name__ == '__main__':
    # 在单独的线程中运行定时任务
    import threading
    scheduler_thread = threading.Thread(target=run_scheduler)
    scheduler_thread.start()

代码说明

定时任务设置:

使用 schedule.every().day.at("22:00") 设置每天晚上 10 点执行任务。

定时任务执行:

使用 schedule.run_pending() 检查并执行到期的任务。

使用 time.sleep(1) 避免 CPU 占用过高。

多线程运行:

使用 threading.Thread 在单独的线程中运行定时任务,避免阻塞 Flask 应用。

相关推荐
明月_清风19 分钟前
Python 内存手术刀:sys.getrefcount 与引用计数的生死时速
后端·python
明月_清风21 分钟前
Python 消失的内存:为什么 list=[] 是新手最容易踩的“毒苹果”?
后端·python
IT_陈寒14 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
流浪克拉玛依15 小时前
Go Web 服务限流器实战:从原理到压测验证 --使用 Gin 框架 + Uber Ratelimit / 官方限流器,并通过 Vegeta 进行性能剖析
后端
Flittly15 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(3)TodoWrite (待办写入)
python·agent
孟沐15 小时前
保姆级教程:手写三层架构 vs MyBatis-Plus
后端
星浩AI15 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
华仔啊17 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
武子康18 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
砍材农夫18 小时前
TCP和UDP区别
后端