Skip to content
This repository was archived by the owner on May 27, 2025. It is now read-only.

Commit 3b47f5b

Browse files
committed
리포트 처리 개선
1 parent 5f44170 commit 3b47f5b

2 files changed

Lines changed: 17 additions & 15 deletions

File tree

agent

0 Bytes
Binary file not shown.

agent.go

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"time"
1010
"unsafe"
1111
"runtime"
12+
"strconv"
1213
"encoding/json"
1314
"io/ioutil"
1415
"database/sql"
@@ -99,7 +100,7 @@ func (service *Service) Manage() (string, error) {
99100
}
100101

101102
connectionString, _ := getConnectionString(homedir)
102-
stdlog.Println(connectionString)
103+
stdlog.Println("Connectin String:", connectionString)
103104

104105
err = getAPIConfig(homedir, &apiconf)
105106
if err != nil {
@@ -168,7 +169,6 @@ func getAPIConfig(homedir string, apiconf *APIConfig) error {
168169

169170
func pollMsg() {
170171
for {
171-
stdlog.Println("Polling Msg...")
172172
time.Sleep(time.Second * 1)
173173
rows, err := db.Query("SELECT id, payload FROM msg WHERE sent = false AND sendAttempts < 3 LIMIT 10000")
174174
if err != nil {
@@ -221,32 +221,33 @@ func pollMsg() {
221221
var msgParams = make(map[string]interface{})
222222
msgParams["messages"] = messageList
223223

224-
result2, err := client.Messages.AddGroupMessage(groupId, msgParams)
224+
result, err := client.Messages.AddGroupMessage(groupId, msgParams)
225225
if err != nil {
226226
errlog.Println(err)
227227
continue
228228
}
229-
for i, res := range(result2.ResultList) {
229+
for i, res := range(result.ResultList) {
230230
_, err = db.Exec("UPDATE msg SET result = json_object('messageId', ?, 'groupId', ?, 'statusCode', ?, 'statusMessage', ?), sent = true WHERE id = ?", res.MessageId, groupId, res.StatusCode, res.StatusMessage, idList[i])
231231
if err != nil {
232232
errlog.Println(err)
233233
continue
234234
}
235235
}
236236

237-
_, err = client.Messages.SendGroup(groupId)
238-
if err != nil {
239-
errlog.Println(err)
237+
groupInfo, err2 := client.Messages.SendGroup(groupId)
238+
if err2 != nil {
239+
errlog.Println(err2)
240240
continue
241241
}
242+
stdlog.Print("Group Messaging")
243+
printObj(groupInfo.Count)
242244
}
243245
}
244246
}
245247

246248
func pollLastReport() {
247249
for {
248-
stdlog.Println("Polling Last Report...")
249-
time.Sleep(time.Second * 2)
250+
time.Sleep(time.Second * 1)
250251
rows, err := db.Query("SELECT id, messageId, statusCode FROM msg WHERE sent = true AND createdAt < SUBDATE(NOW(), INTERVAL 72 HOUR) AND statusCode IN ('2000', '3000')")
251252
if err != nil {
252253
errlog.Println(err)
@@ -269,9 +270,8 @@ func pollLastReport() {
269270

270271
func pollResult() {
271272
for {
272-
stdlog.Println("Polling Result...")
273-
time.Sleep(time.Second * 2)
274-
rows, err := db.Query("SELECT id, messageId, statusCode FROM msg WHERE sent = true AND createdAt > SUBDATE(NOW(), INTERVAL 72 HOUR) AND updatedAt < SUBDATE(NOW(), INTERVAL (10 * (reportAttempts + 1)) SECOND) AND reportAttempts < 10 AND statusCode IN ('2000', '3000') LIMIT 1000")
273+
time.Sleep(time.Millisecond * 500)
274+
rows, err := db.Query("SELECT id, messageId, statusCode FROM msg WHERE sent = true AND createdAt > SUBDATE(NOW(), INTERVAL 72 HOUR) AND updatedAt < SUBDATE(NOW(), INTERVAL (10 * (reportAttempts + 1)) SECOND) AND reportAttempts < 10 AND statusCode IN ('2000', '3000') LIMIT 100")
275275
if err != nil {
276276
errlog.Println(err)
277277
}
@@ -297,21 +297,23 @@ func syncMsgStatus(messageIds []string, statusCode string, defaultCode string) {
297297
b, _ := json.Marshal(messageIds)
298298
params := make(map[string]string)
299299
params["messageIds[in]"] = string(b)
300+
params["limit"] = strconv.Itoa(len(messageIds))
301+
302+
stdlog.Println("Sync Count:", len(messageIds))
300303

301304
result, err := client.Messages.GetMessageList(params)
302-
printObj(result)
303305
if err != nil {
304306
errlog.Println(err)
305307
}
306308

307309
for _, res := range(result.MessageList) {
308310
if res.StatusCode != statusCode {
309-
_, err = db.Exec("UPDATE msg SET result = json_set(result, '$.statusCode', ?, '$.statusMessage', ?), updatedAt = NOW() WHERE messageId = ?", res.StatusCode, res.MessageId, res.Reason)
311+
_, err = db.Exec("UPDATE msg SET result = json_set(result, '$.statusCode', ?, '$.statusMessage', ?), updatedAt = NOW() WHERE messageId = ?", res.StatusCode, res.Reason, res.MessageId)
310312
if err != nil {
311313
panic(err)
312314
}
313315
} else {
314-
_, err = db.Exec("UPDATE msg SET result = json_set(result, '$.statusCode', ?, '$.statusMessage', ?), updatedAt = NOW() WHERE messageId = ?", defaultCode, res.MessageId, "전송시간 초과")
316+
_, err = db.Exec("UPDATE msg SET result = json_set(result, '$.statusCode', ?, '$.statusMessage', ?), updatedAt = NOW() WHERE messageId = ?", defaultCode, "전송시간 초과", res.MessageId)
315317
}
316318
}
317319
}

0 commit comments

Comments
 (0)