HTTP任务执行时间不能超过300秒

pull/21/merge
ouqiang 2017-05-09 13:42:49 +08:00
parent 6f76d3b17e
commit 95ea60f23c
4 changed files with 11 additions and 5 deletions

View File

@ -6,7 +6,7 @@
## 功能特性
* 支持任务CURD
* crontab时间表达式精确到
* crontab时间表达式精确到秒
* 任务执行失败重试设置
* 任务超时设置
* 任务执行方式
@ -21,7 +21,7 @@
![Slack](https://raw.githubusercontent.com/ouqiang/gocron/master/screenshot_slack.png)
### 支持平台
> Windows、Linux、OSX
> Windows、Linux、Mac OS
### 环境要求
> MySQL
@ -34,7 +34,7 @@
2. `cd 解压目录`
3. 启动
* Windows: `gocron.exe web`
* Linux、OSX: `./gocron web`
* Linux、Mac OS: `./gocron web`
4. 浏览器访问 http://localhost:5920
### 源码安装
1. `go`语言版本1.7+

View File

@ -88,7 +88,7 @@ func Register(m *macaron.Macaron) {
// API
m.Group("/api/v1", func() {
m.Get("/tasklog/update-status", tasklog.UpdateStatus)
m.Route("/tasklog/update-status", "GET,POST", tasklog.UpdateStatus)
});
// 404错误

View File

@ -173,7 +173,13 @@ func (h *LocalCommandHandler) runOnUnix(taskModel models.TaskHost) (string, erro
// HTTP任务
type HTTPHandler struct{}
// http任务执行时间不超过300秒
const HttpExecTimeout = 300
func (h *HTTPHandler) Run(taskModel models.TaskHost) (result string, err error) {
if taskModel.Timeout <= 0 || taskModel.Timeout > HttpExecTimeout {
taskModel.Timeout = HttpExecTimeout
}
resp := httpclient.Get(taskModel.Command, taskModel.Timeout)
// 返回状态码非200均为失败
if resp.StatusCode != 200 {

View File

@ -62,7 +62,7 @@
<p>cron {{{.Spec}}}</p>
<p>: {{{if eq .Protocol 1}}} HTTP {{{else if eq .Protocol 2}}} SSH {{{else if eq .Protocol 3}}}{{{end}}}</p>
<p class="sensorStatus">{{{.Command}}}</p>
<p class="sensorStatus">{{{if eq .Timeout -1}}}{{{else if eq .Timeout 0}}}{{{.Timeout}}}{{{else}}}{{{end}}}</p>
<p class="sensorStatus">{{{if eq .Timeout -1}}}{{{else if gt .Timeout 0}}}{{{.Timeout}}}{{{else}}}{{{end}}}</p>
<p>: {{{.RetryTimes}}}</p>
<p class="sensorStatus">{{{if gt .Multi 0}}}{{{else}}}{{{end}}}</p>
{{{if eq .Protocol 2}}}