/
main.go
75 lines (63 loc) · 1.26 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package main
import (
"fmt"
"log"
"os"
"github.com/ReanGD/go-web-search/content"
"github.com/ReanGD/go-web-search/crawler"
_ "github.com/jinzhu/gorm/dialects/sqlite"
"github.com/uber-go/zap"
)
var baseHosts = []string{
"habrahabr.ru",
"geektimes.ru",
"linux.org.ru",
"gamedev.ru",
"xakep.ru",
"rsdn.ru",
"ixbt.com",
"3dnews.ru",
"ferra.ru",
"nixp.ru",
"opennet.ru",
"computerra.ru"}
// ClearClose ...
func ClearClose(db *content.DBrw) {
err := db.Close()
if err != nil {
fmt.Printf("Error close db %s", err)
}
}
func test() error {
return nil
}
func run(logger zap.Logger) error {
return crawler.Run(logger, baseHosts, 4300)
}
func clearCloseFile(f *os.File) {
err := f.Close()
if err != nil {
fmt.Printf("Error close file: %s", err)
}
}
func main() {
f, err := os.OpenFile("app.log", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0666)
if err != nil {
fmt.Printf("%s", err)
return
}
defer clearCloseFile(f)
file, err := os.OpenFile("app.json", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0644)
if err != nil {
panic(err)
}
defer file.Close()
logger := zap.NewJSON(zap.DebugLevel, zap.Output(zap.AddSync(file)))
log.SetOutput(f)
// runtime.GOMAXPROCS(runtime.NumCPU())
err = run(logger)
// err = test()
if err != nil {
fmt.Printf("%s", err)
}
}