用Rust编写后台调度计划任务Cronjob

💡 原文中文,约5600字,阅读约需14分钟。
📝

内容提要

本文介绍了如何使用Shuttle将cron作业编写为Web服务。首先需要配置数据库,然后实现具体服务和tower服务。最后构建worker并运行。部署完成后,将获得部署信息和数据库URL字符串。

🎯

关键要点

  • 本文介绍如何使用Shuttle将cron作业编写为Web服务。
  • cron作业可以自动执行数据备份、添加提醒和创建报告等任务。
  • 部署步骤包括运行cargo shuttle init和cargo shuttle deploy。
  • 项目依赖包括serde、chrono、apalis、sqlx、shuttle-shared-db和tower。
  • 首先需要配置数据库并设置Postgres连接池。
  • 实现具体服务需要设置PostgresStorage以支持持久作业队列。
  • 创建tower服务以保存要运行的工作。
  • 实现apalis::prelude::Job的结构体以定义cron作业。
  • 构建worker并使用apalis::Monitor来执行工作。
  • 运行Docker命令启动服务,并使用cargo shuttle deploy进行部署。
🏷️

标签

➡️

继续阅读