1.重构命名, 简化代码, 加入build.sh

2.重构数据字段结构, 使数据合理性提高.
3.测试通过openrec获取数据完整性.
TODO: 测试时区问题.
This commit is contained in:
eson
2020-07-17 18:21:38 +08:00
parent bb0f3845b7
commit e1040e69cd
15 changed files with 254 additions and 594 deletions

View File

@@ -1,19 +0,0 @@
package main
/*
CREATE TABLE `source_openrec` (
uid bigint AUTO_INCREMENT,
`url` text NOT NULL,
`target_type` varchar(64) NOT NULL,
`source` longtext DEFAULT NULL,
`ext` json DEFAULT NULL,
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`operator` int DEFAULT 0,
`error_msg` text DEFAULT NULL,
PRIMARY KEY(`uid`),
KEY `operator_idx` (`operator`),
KEY `update_time_idx` (`update_time`),
KEY `target_type_idx` (`target_type`)
);
*/

View File

@@ -63,11 +63,19 @@ func (or *OpenrecRanking) Execute(cxt *hunter.TaskContext) {
break
}
wf := cxt.Temporary()
tp := cxt.Temporary()
content := resp.Content()
if len(content) <= 200 {
return
if len(content) <= 200 { // 末页退出
finishpoint := time.Now()
log.Println("任务结束休眠, 下次启动时间:", finishpoint.Add(time.Minute*30))
for time.Now().Sub(finishpoint) < time.Minute*30 {
time.Sleep(time.Second)
if atomic.LoadInt32(&loop) > 0 {
return
}
}
continue
}
result := gjson.ParseBytes(content)
@@ -76,39 +84,23 @@ func (or *OpenrecRanking) Execute(cxt *hunter.TaskContext) {
data := &intimate.Source{}
userid := User.Get("channel.id").String()
data.SetSource(sql.NullString{String: userid, Valid: len(userid) > 0})
data.SetUrl(wf.GetRawURL())
data.SetTargetType(string(intimate.TTOpenrecUser))
data.Source = sql.NullString{String: userid, Valid: len(userid) > 0}
data.Url = tp.GetRawURL()
data.TargetType = string(intimate.TTOpenrecUser)
store.Insert(data)
}
}
querys := wf.GetQuery()
querys := tp.GetQuery()
page, err := strconv.Atoi(querys.Get("page"))
if err != nil {
log.Println(err)
return
}
return
page++
querys.Set("page", strconv.Itoa(page))
wf.SetQuery(querys)
tp.SetQuery(querys)
time.Sleep(time.Second * 2)
}
}
// OpenrecUser 获取用户信息
type OpenrecUser struct {
hunter.PreCurlUrl
}
// Execute 执行方法
func (or *OpenrecUser) Execute(cxt *hunter.TaskContext) {
resp, err := cxt.Hunt()
if err != nil {
log.Println(err)
return
}
resp.Content()
}