Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-group
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujiebin
hilo-group
Commits
5b736484
Commit
5b736484
authored
May 06, 2023
by
hujiebin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:同步所有事件行为,对batchCount事务
parent
62315818
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
18 deletions
+16
-18
send_gift.go
domain/service/event_s/send_gift.go
+16
-18
No files found.
domain/service/event_s/send_gift.go
View file @
5b736484
...
@@ -30,13 +30,12 @@ func (s *GiftSendEventService) Consume() error {
...
@@ -30,13 +30,12 @@ func (s *GiftSendEventService) Consume() error {
}
}
}()
}()
var
model
=
domain
.
CreateModel
(
s
.
svc
.
CtxAndDb
)
var
model
=
domain
.
CreateModel
(
s
.
svc
.
CtxAndDb
)
events
,
offset
,
err
:=
event_m
.
FetchEventGiftSend
(
model
,
BatchCount
)
return
model
.
Transaction
(
func
(
model
*
domain
.
Model
)
error
{
if
err
!=
nil
{
events
,
offset
,
err
:=
event_m
.
FetchEventGiftSend
(
model
,
BatchCount
)
return
err
if
err
!=
nil
{
}
return
err
for
k
:=
range
events
{
}
// 一个事件一个事务
for
k
:=
range
events
{
err
=
model
.
Transaction
(
func
(
model
*
domain
.
Model
)
error
{
cpEvent
:=
&
event_m
.
EventGiftSend
{
cpEvent
:=
&
event_m
.
EventGiftSend
{
Entity
:
mysql
.
Entity
{
Entity
:
mysql
.
Entity
{
ID
:
events
[
k
]
.
ID
,
ID
:
events
[
k
]
.
ID
,
...
@@ -49,12 +48,12 @@ func (s *GiftSendEventService) Consume() error {
...
@@ -49,12 +48,12 @@ func (s *GiftSendEventService) Consume() error {
}
}
if
cpEvent
.
MarkHiloGroup
==
mysql
.
YES
{
if
cpEvent
.
MarkHiloGroup
==
mysql
.
YES
{
model
.
Log
.
Warnf
(
"already consume msg :%v"
,
cpEvent
)
model
.
Log
.
Warnf
(
"already consume msg :%v"
,
cpEvent
)
return
nil
continue
}
}
sendGiftEvent
:=
new
(
gift_ev
.
SendGiftEvent
)
sendGiftEvent
:=
new
(
gift_ev
.
SendGiftEvent
)
if
err
:=
json
.
Unmarshal
(
cpEvent
.
Payload
,
sendGiftEvent
);
err
!=
nil
{
if
err
:=
json
.
Unmarshal
(
cpEvent
.
Payload
,
sendGiftEvent
);
err
!=
nil
{
model
.
Log
.
Errorf
(
"json msg fail,event:%v,err:%v"
,
cpEvent
,
err
)
model
.
Log
.
Errorf
(
"json msg fail,event:%v,err:%v"
,
cpEvent
,
err
)
return
nil
continue
}
}
// 标记已经处理,mark比publish事件提前,尽量避免异步事件重复执行
// 标记已经处理,mark比publish事件提前,尽量避免异步事件重复执行
cpEvent
.
Model
=
model
cpEvent
.
Model
=
model
...
@@ -67,13 +66,12 @@ func (s *GiftSendEventService) Consume() error {
...
@@ -67,13 +66,12 @@ func (s *GiftSendEventService) Consume() error {
model
.
Log
.
Errorf
(
"PublishSendGiftEvent fail,event:%v,err:%v"
,
string
(
cpEvent
.
Payload
),
err
)
model
.
Log
.
Errorf
(
"PublishSendGiftEvent fail,event:%v,err:%v"
,
string
(
cpEvent
.
Payload
),
err
)
return
err
return
err
}
}
return
nil
}
})
// 最后一次提交offset
}
if
len
(
events
)
>
0
{
// 最后一次提交offset
offset
.
MarkOffset
=
events
[
len
(
events
)
-
1
]
.
ID
if
len
(
events
)
>
0
{
return
offset
.
Persistence
()
offset
.
MarkOffset
=
events
[
len
(
events
)
-
1
]
.
ID
}
return
offset
.
Persistence
()
return
nil
}
})
return
nil
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment