Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
02d5631c4d | |||
e791890ea5 | |||
710a81139c | |||
28e83ee592 | |||
7f60dc0f59 | |||
900cb70f37 | |||
740cac21d3 | |||
15563aa75d | |||
56add999c6 | |||
d99d766621 | |||
261c850077 | |||
04c384add9 | |||
41590ee88f | |||
ad1a0aab30 | |||
7a3e65d109 | |||
71db409b15 | |||
153943b3ed | |||
b17ed7e7a9 | |||
a564621d80 | |||
59869821f3 | |||
d9dcfc1a3c | |||
932c9b609e | |||
71e40b932c | |||
39829a7348 | |||
9d9c11cf11 | |||
75a59c3e5c |
@ -33,14 +33,6 @@ type InsertedTask struct {
|
||||
Attempts int `bson:"attempts"`
|
||||
}
|
||||
|
||||
func Count() (*int64, error) {
|
||||
count, err := collection().CountDocuments(context.TODO(), bson.M{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &count, nil
|
||||
}
|
||||
|
||||
func Add(task InsertedTask) error {
|
||||
_, err := collection().InsertOne(context.TODO(), task)
|
||||
if err != nil {
|
||||
|
26
main.go
26
main.go
@ -9,7 +9,6 @@ import (
|
||||
"os"
|
||||
"queues-go/app/routers"
|
||||
client "queues-go/app/storage/mongo"
|
||||
tasks "queues-go/app/storage/mongo/collections"
|
||||
"strconv"
|
||||
"sync"
|
||||
"time"
|
||||
@ -59,30 +58,6 @@ func metricProxy(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(202)
|
||||
}
|
||||
|
||||
func writeCount() {
|
||||
for {
|
||||
count, err := tasks.Count()
|
||||
if err != nil {
|
||||
log.Printf("Failed getting docs count: %s", err.Error())
|
||||
} else {
|
||||
loc, _ := time.LoadLocation("Europe/Moscow")
|
||||
s := fmt.Sprintf(
|
||||
`{"timestamp":"%s","service":"queues","environment":"%s","name":"tasks","count":%s}`,
|
||||
time.Now().In(loc).Format("2006-01-02T15:04:05Z"),
|
||||
os.Getenv("STAGE"),
|
||||
strconv.Itoa(int(*count)),
|
||||
)
|
||||
data := []byte(s)
|
||||
r := bytes.NewReader(data)
|
||||
_, err := http.Post("http://monitoring:1237/api/v1/metrics/increment", "application/json", r)
|
||||
if err != nil {
|
||||
log.Printf("ERROR %s", err.Error())
|
||||
}
|
||||
}
|
||||
time.Sleep(time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
client.Connect()
|
||||
routers.MutexMap = make(map[string]*sync.Mutex)
|
||||
@ -91,6 +66,5 @@ func main() {
|
||||
http.HandleFunc("/api/v1/put", handlerWrapper(routers.Put))
|
||||
http.HandleFunc("/api/v1/metric", metricProxy)
|
||||
log.Printf("Server started")
|
||||
go writeCount()
|
||||
http.ListenAndServe(":1239", nil)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user