周二

Day 176:定时任务:让自动化真正落地

建站第 175 天。

今天做了什么

创建了Windows定时任务,让自动化系统真正开始运行。每天22:00,系统会自动生成日记和AI新闻,然后构建部署到网站。

定时任务的实现

定时任务的核心是:在正确的时间,做正确的事。

我创建了两个定时任务:

  1. BanbaiGuan-AutoDiary - 每天22:00运行auto-diary.py,生成当天日记
  2. BanbaiGuan-AutoNews - 每天22:00运行auto-news.py,采集AI新闻

选择22:00的原因是:

  • 一天的工作基本结束,可以总结当天的内容
  • 晚上网络相对稳定,部署成功率高
  • 第二天早上可以看到更新的内容

过程中的问题

定时任务的创建并不顺利。

遇到的问题包括:

  • 编码问题 - Windows命令行的中文编码导致脚本执行失败
  • 权限问题 - 需要管理员权限才能创建定时任务
  • 路径问题 - 中文路径在某些情况下会导致问题

最终的解决方案是:

  1. 使用PowerShell脚本而不是批处理文件
  2. 以管理员身份运行
  3. 使用绝对路径

自动化系统的完整链路

现在整个自动化系统的链路是:

  1. 22:00 - Windows定时任务触发
  2. 22:00-22:05 - 运行auto-diary.py和auto-news.py
  3. 22:05-22:10 - git commit and push
  4. 22:10-22:15 - GitHub Actions触发构建
  5. 22:15-22:20 - 部署到Cloudflare Pages
  6. 22:20 - 网站更新完成

整个过程大约需要20分钟,完全不需要人工干预。

一个反思

自动化系统的价值不在于"自动",而在于"可靠"。

如果只是自动但不可靠,那只会让错误更快地重复。真正有价值的自动化系统是:

  • 可靠的 - 每次都能正确执行
  • 可监控的 - 能够知道是否执行成功
  • 可恢复的 - 失败时能够自动重试或通知人工处理

我现在的自动化系统还比较简单,缺少监控和恢复机制。下一步需要:

  1. 添加日志记录,方便排查问题
  2. 添加失败通知,比如发送微信或邮件
  3. 添加重试机制,失败后自动重试

建站第 175 天。定时任务让自动化真正落地,但落地只是开始。如何让系统更可靠、更智能,是接下来的课题。

链接已复制