forked from vburenin/firempq
/
firempq.go
68 lines (60 loc) · 1.4 KB
/
firempq.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
package main
import (
"firempq/common"
"firempq/conf"
"firempq/defs"
"firempq/facade"
"firempq/features/pqueue"
"firempq/iface"
"firempq/log"
"firempq/server"
"fmt"
"strconv"
)
func main() {
// Initialize logging to a default INFO level to be able to log config error.
log.InitLogging()
err := conf.ReadConfig()
if err != nil {
log.Error(err.Error())
return
}
// Reinitialize log level according to the config data.
log.InitLogging()
iface := fmt.Sprintf("%s:%d", conf.CFG.Interface, conf.CFG.Port)
srv, err := server.GetServer(server.SIMPLE_SERVER, iface)
if err != nil {
log.Critical("Error: %s", err.Error())
return
}
srv.Start()
}
func addMessages(pq iface.ISvc) {
payload := "0000"
v := []string{defs.PRM_PRIORITY, "1", defs.PRM_PAYLOAD, payload}
for i := 0; i < 10000000; i++ {
pq.Call(pqueue.ACTION_PUSH, v)
}
}
func main1() {
// f, _ := os.Create("pp.dat")
// pprof.StartCPUProfile(f)
// defer pprof.StopCPUProfile()
fc := facade.CreateFacade()
defer fc.Close()
for i := 0; i < 1; i++ {
qid := "tst_queue_" + strconv.Itoa(i)
err := fc.CreateService(common.STYPE_PRIORITY_QUEUE, qid, nil)
if err != nil {
log.Notice("%s: %s", err, qid)
}
}
start_ts := common.Uts()
log.Notice("Started")
for i := 0; i < 1; i++ {
qid := "tst_queue_" + strconv.Itoa(i)
q, _ := fc.GetService(qid)
addMessages(q)
}
log.Notice("Finished. Elapsed: %d", common.Uts()-start_ts)
}