用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进行部署。
➡️