/
main.go
48 lines (43 loc) · 1.13 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
package main
import (
"flag"
"fmt"
"log"
"os"
"path/filepath"
"runtime"
"github.com/gin-gonic/gin"
)
func init() {
if parentPath, err := filepath.Abs(filepath.Dir(os.Args[0])); err != nil {
log.Fatal(err)
} else {
distDir := parentPath + "/dist"
resourcesDir := parentPath + "/resources"
tmpDir := parentPath + "/tmp"
if err := IfNotExistMkAllMir(0774, distDir, resourcesDir, tmpDir); err != nil {
log.Fatal(err)
}
}
}
var bind = flag.String("bind", ":8080", "bind address and port")
var installRes = flag.String("i", "", "install resources for a zip file")
var mode = flag.String("mode", "test", "running mode, e.g. debug/test/release")
var cl = flag.Int("cl", runtime.NumCPU(), "concurrency limits")
func main() {
flag.Parse()
if *installRes != "" {
if _, err := InstallZip(*installRes, "./resources"); err != nil {
fmt.Printf("install template resources failed, %s\n", err)
os.Exit(1)
}
fmt.Println("install template resources succcess.")
os.Exit(0)
}
gin.SetMode(*mode)
server := Server{router: gin.Default(), bind: *bind}
for i := 0; i < *cl; i++ {
go asyncMakeAction()
}
log.Fatal(server.Run())
}