func main() { // defer func() { // if r := recover(); r != nil { // log.Println("RECOVER!!!!!") // w, err := os.Create("panic.log") // if err != nil { // os.Exit(1) // } // os.Stderr = w // debug.PrintStack() // } // runtime.SetBlockProfileRate(1) // go func() { // log.Println(http.ListenAndServe("0.0.0.0:6060", nil)) // }() runtime.GOMAXPROCS(runtime.NumCPU()) filename, err := log.Init() if err != nil { panic(err) } if filename != "" { log.Infof("%s is created", filename) } if err := fetcher.Init(); err != nil { panic(err) } if err := server.Start(); err != nil { panic(err) } }
func BenchmarkProcess(b *testing.B) { if err := fetcher.Init(); err != nil { b.Fatal(err) } o, err := option.New(os.Args[1:]) if err != nil { b.Fatal(err) } for i := 0; i < b.N; i++ { o, err := storage.NewImage(map[string][]string{ "url": []string{""}, "width": []string{"800"}, "height": []string{"0"}, }, o.Hosts) if err != nil { b.Fatalf("%s", err) } path, err := fetcher.Fetch(o.ValidatedURL) if err != nil { b.Fatalf("%s", err.Error()) } var bs []byte w := bytes.NewBuffer(bs) p := processor.New() image, err := p.Preprocess(path) if err != nil { b.Fatalf("%s", err.Error()) } if _, err := p.Process(image, w, o); err != nil { b.Fatalf("%s", err.Error()) } } }
func TestInit(t *testing.T) { if err := fetcher.Init(); err != nil { log.Fatal(err) } }