ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Python项目实战】综合项目(五):自动化、测试、Docker部署

【Python项目实战】综合项目(五):自动化、测试、Docker部署 上篇交卷,早报站能看了——但还要你手动启动。最后一篇:让系统自己运转,并且一键部署到任何机器。从“能跑”到“能交付”,这是全系列的期末考试。🎯本篇成品:一个自动化运行、有完整测试、能用Docker一键部署的完整系统。含注释约200行 + Dockerfile + compose。📌 太长不看版(给想快速上手的你)项目信息一句话说明里程碑自动化 + 测试与部署代码行数~200行 + Dockerfile + compose依赖schedule+pytest+pytest-cov+ Docker核心功能定时调度 + 通知推送 + 完整测试 + 多容器编排跑起来的命令python main.py run(自动化)/docker compose up -d(部署)核心知识点进程内调度、Flask测试客户端、Docker Compose、systemd做完你能得到一个不需要你在场也能运转的完整系统一、M4:自动化——让系统自己上早班你已经学过schedule,这里直接复用,但要解决一个关键问题:调度器得活着。第1步:main.py加run子命令"""main.py —— 追加run子命令"""importscheduleimporttimedefcmd_run()-None:"""启动调度器:每天9:00自动采集+摘要"""defjob():print(f"\n[{time.strftime('%Y-%m-%d %H:%M')}] 开始执行早报任务…")cmd_collect()cmd_summarize()print(f"[{time.strftime('%H:%M')}] 早报任务完成")schedule.every().day.at("09:00").do(job)print("⏰ 早报调度器已启动(每天09:00自动运行),Ctrl+C退出")whileTrue:schedule.run_pending()time.sleep(30)# 每30秒检查一次,比1秒省CPUdefmain()-None:parser=argparse.ArgumentParser(description="Python早报")sub=parser.add_subparsers(dest="command",required=True)sub.add_parser("collect",help="采集并入库")sub.add_parser("summarize",help="给文章生成AI摘要")sub.add_parser("run",help="启动定时调度器(每天9:00)")args=parser.parse_args()ifargs.command=="collect":cmd_collect()
返回列表