SnailJob 分布式任务重试与调度平台技术文档
【免费下载链接】snail-job 🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台 项目地址: https://gitcode.com/aizuda/snail-job
1. 安装指南
1.1 环境要求
- JDK 1.8+
- MySQL 5.7+
- Redis 3.2+
- Maven 3.5+
1.2 服务端安装
- 克隆管理端项目:
git clone https://gitee.com/opensnail/snail-job-admin.git - 导入数据库脚本(位于项目
sql目录) - 修改
application.yml配置文件,配置数据库和Redis连接 - 使用Maven构建项目:
mvn clean package - 启动服务:
java -jar snail-job-admin.jar
2. 项目使用说明
2.1 核心功能
- 分布式任务重试:提供可重放、可管控的任务重试机制
- 分布式任务调度:支持秒级、可中断、可编排的任务调度
- 权限管理:完善的用户角色权限体系
- 监控告警:实时监控任务执行状态,支持多种告警方式
2.2 基本操作流程
- 登录管理系统(默认账号admin/123456)
- 创建任务组/命名空间
- 配置任务执行器
- 创建重试或调度任务
- 监控任务执行情况
3. 项目API使用文档
3.1 Java客户端
-
添加Maven依赖:
<dependency> <groupId>com.aizuda</groupId> <artifactId>snail-job-client</artifactId> <version>最新版本</version> </dependency> -
基本API示例:
// 重试任务注册 @Retryable(scene = "orderCreate", bizNo = "#orderNo") public void createOrder(String orderNo) { // 业务逻辑 } // 定时任务注册 @Scheduled(cron = "0/5 * * * * ?") public void scheduledTask() { // 定时任务逻辑 }
3.2 Python客户端
from snail_job import Retryable
@Retryable(scene="payment", biz_no="#order_id")
def process_payment(order_id):
# 支付处理逻辑
3.3 Go客户端
import "github.com/aizuda/snail-job-go"
func main() {
snail_job.RegisterRetryFunc("orderCancel", func(orderId string) {
// 订单取消逻辑
})
}
4. 项目安装方式
4.1 Docker安装
docker pull aizuda/snail-job-admin:latest
docker run -d -p 8080:8080 aizuda/snail-job-admin
4.2 Kubernetes部署
- 创建ConfigMap和Secret
- 部署Deployment
- 暴露Service
4.3 客户端集成方式
各语言客户端可通过以下方式集成:
- Java:Maven依赖
- Python:pip install snail-job
- Go:go get github.com/aizuda/snail-job-go
5. 注意事项
- 生产环境建议配置集群模式
- 重要任务建议配置告警策略
- 定期备份数据库
- 遵循APACHE LICENSE 2.0开源协议要求
【免费下载链接】snail-job 🔥🔥🔥 灵活,可靠和快速的分布式任务重试和分布式任务调度平台 项目地址: https://gitcode.com/aizuda/snail-job
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



