1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lanfengye2002-task_url

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
job.go 1.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
lanfengye Отправлено 02.09.2019 09:32 6ee4b24
/*
* @Author: 窦子滨<zibin_5257@163.com>
* @Date: 2019-09-02 14:16
*/
package main
//带参数的定时任务
import (
"io/ioutil"
"net/http"
"net/url"
//"fmt"
"time"
)
//添加单个任务
func AddJob(v *Task) {
c.AddJob(v, func(*Task) {
getUrl(v)
})
}
/**
获取url的信息
*/
func getUrl(info *Task) {
task_id:=info.Id
var elapsed int64
u, _ := url.Parse(info.Url)
q := u.Query()
u.RawQuery = q.Encode()
tr := &http.Transport{
DisableKeepAlives: true,
}
client := &http.Client{Transport: tr, Timeout: time.Second * time.Duration(info.Timeout)}
t1 := time.Now() // get current time
resp, err := client.Get(u.String())
elapsed = time.Since(t1).Round(time.Millisecond).Nanoseconds() / 1000000
if err != nil {
Log.Info("URL链接打开失败!%s", err)
write_log(task_id, 0, elapsed, "", err.Error())
return
}
defer resp.Body.Close()
if info.SaveBody == "1" {
body, err := ioutil.ReadAll(resp.Body)
if (err != nil) {
Log.Info("URL链接内容获取失败!%s", err)
write_log(task_id, resp.StatusCode, elapsed, "", err.Error())
return
}
write_log(task_id, resp.StatusCode, elapsed, string(body), "")
return
}
write_log(task_id, resp.StatusCode, elapsed, "", "")
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lanfengye2002-task_url.git
git@api.gitlife.ru:oschina-mirror/lanfengye2002-task_url.git
oschina-mirror
lanfengye2002-task_url
lanfengye2002-task_url
master