# ferrari
**Repository Path**: mirrors_gspandy/ferrari
## Basic Information
- **Project Name**: ferrari
- **Description**: 云调度实现,将调度与执行分离.
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-24
- **Last Updated**: 2026-03-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Ferrari说明
#### 如果阅读完文档后,还有任何疑问,请mail to [zjytk05@163.com,931591021@qq.com]
**Ferrari**是一种云调度服务平台,基于quartz实现定时调度。ferrari本身不执行任何任务,只是进行触发任务执行(通过http远程触发).
## ======Quick Start======
### =======调度中心设置========
调度中心的应用为ferrari-admin,修改如下设置后即可启动。
#### 1. 创建数据表
根据ferrari-parent中提供的tables_mysql_ferrari.sql创建数据表,
建议对表FRI_QRTZ_TriggerLog、FRI_QRTZ_JobInfo做适当的索引,对应的sql语句可以查看
```
FerrariJobInfoMapper.xml,FerrariJobLogMapper.xml
```
#### 2. 报警设置
默认使用邮件报警DefaultAlarmServiceImpl,如果要个性化,请实现报警接口:
```
com.cip.ferrari.admin.alarm.AlarmService
```
使用默认DefaultAlarmServiceImpl的话,请更改com.cip.ferrari.admin.alarm.mail.MailSender的如下初始化部分:
```
static {
fromName = "";
fromAddress = "xxx@16.com"; //for example: tk_yuan@126.com
host = "smtp.126.com";
port = 25;
userName = "xxx@16.com";//for example: tk_yuan@126.com
password = "1234";// mail password
}
```
#### 3. 分组设置
随着任务的增多,为了方便管理任务分组,可以在如下枚举类中新增分组:
```
com.cip.ferrari.admin.common.JobGroupEnum
```
如果为了后续方便,也可自行改成配置的方式。
###======任务执行应用方接入配置========
任务应用方只需按照如下步骤,即可接入.
#### Step一. 依赖
```
com.dianping
ferrari-core
1.2.4
```
#### Step二. 配置web.xml
```
FerrariServlet
com.cip.ferrari.core.FerrariDirectServlet
1
FerrariServlet
/ferrarijob/*
```
其中的 **url-pattern** 与ferrari-admin中的 **ferrari.properties** 中的receive_servletpath配置值一致。
#### Step三. 任务类信息配置
完成以上2步后,开始写你的任务类及方法,类名、方法、入参等信息在调度中心(ferrari-admin-web)的新增任务界面配置。
**注意点:**
应用中的任务类是 ***[多例]***
## ======调度中心查看job执行业务日志=====
如果想在调度中心查看job执行的业务日志,则需增加如下log appender配置:
```
```
其中,filePath 是文件夹路径.
ferrari调度中心的设计实现原理请查看[开源中国博客](http://my.oschina.net/tkyuan/blog/678001)
谢谢!