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