Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
meibuyu-micro
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
1
Merge Requests
1
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
without authentication
meibuyu-micro
Commits
7574a3c7
Commit
7574a3c7
authored
Feb 17, 2022
by
Liu lu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
日志批量更新优化
parent
73853af6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
6 deletions
+16
-6
LogTraceAspect.php
src/Aspect/LogTraceAspect.php
+6
-1
LogTraceHandler.php
src/Handler/LogTrace/LogTraceHandler.php
+1
-3
LogTraceQueue.php
src/Handler/LogTrace/LogTraceQueue.php
+9
-2
No files found.
src/Aspect/LogTraceAspect.php
View file @
7574a3c7
...
...
@@ -4,6 +4,7 @@ namespace Meibuyu\Micro\Aspect;
use
Hyperf\Di\Annotation\Aspect
;
use
Hyperf\Di\Aop\AbstractAspect
;
use
Hyperf\Di\Aop\ProceedingJoinPoint
;
use
Hyperf\HttpServer\Contract\RequestInterface
;
use
Meibuyu\Micro\Annotation\LogTrace
;
use
Meibuyu\Micro\Handler\LogTrace\LogTraceHandler
;
...
...
@@ -25,9 +26,13 @@ class LogTraceAspect extends AbstractAspect
public
function
process
(
ProceedingJoinPoint
$proceedingJoinPoint
)
{
$originParams
=
[
'called_params'
=>
$proceedingJoinPoint
->
getArguments
(),
'http_params'
=>
make
(
RequestInterface
::
class
)
->
all
()
];
LogTraceHandler
::
createLogTrace
(
$proceedingJoinPoint
->
className
.
'@'
.
$proceedingJoinPoint
->
methodName
,
$
proceedingJoinPoint
->
getArguments
()
$
originParams
);
$result
=
$proceedingJoinPoint
->
process
();
LogTraceHandler
::
recordProcess
(
'返回结果:'
.
json_encode
(
$result
));
...
...
src/Handler/LogTrace/LogTraceHandler.php
View file @
7574a3c7
...
...
@@ -83,7 +83,6 @@ class LogTraceHandler
if
(
!
Coroutine
::
inCoroutine
())
return
;
container
(
LogTraceQueue
::
class
)
->
addToQueue
([
'request_id'
=>
self
::
getRequestId
(),
'process_info'
=>
''
,
'is_completed'
=>
YES
]);
//LogTrace::where('request_id', self::getRequestId())->update(['is_completed' => YES]);
...
...
@@ -117,8 +116,7 @@ class LogTraceHandler
container
(
LogTraceQueue
::
class
)
->
addToQueue
([
'request_id'
=>
self
::
getRequestId
(
$isInAsyncCoroutine
),
'process_info'
=>
$logInfo
,
'is_completed'
=>
NO
'process_info'
=>
$logInfo
]);
// $log = LogTrace::where('request_id', self::getRequestId())->first();
// if(empty($log)) return ;
...
...
src/Handler/LogTrace/LogTraceQueue.php
View file @
7574a3c7
...
...
@@ -22,10 +22,14 @@ class LogTraceQueue extends RedisQueueBatchHandler
function
batchDeal
(
$dataArr
)
{
$updateArr
=
[];
$updateMarkComplete
=
[];
foreach
(
$dataArr
as
$arr
){
if
(
isset
(
$arr
[
'is_completed'
])
&&
$arr
[
'is_completed'
]
==
YES
){
$updateMarkComplete
[]
=
$arr
[
'request_id'
]
;
continue
;
}
$updateArr
[
$arr
[
'request_id'
]][
'request_id'
]
=
$arr
[
'request_id'
];
$updateArr
[
$arr
[
'request_id'
]][
'is_completed'
]
=
$arr
[
'is_completed'
];
$process_info
=
isset
(
$updateArr
[
$arr
[
'request_id'
]][
'process_info'
])
?
$updateArr
[
$arr
[
'request_id'
]][
'process_info'
]
:
''
;
...
...
@@ -49,7 +53,10 @@ class LogTraceQueue extends RedisQueueBatchHandler
return
$item
;
},
$updateArr
);
//批量更新
if
(
!
empty
(
$updateMarkComplete
)){
LogTrace
::
whereIn
(
'request_id'
,
$updateMarkComplete
)
->
update
([
'is_completed'
=>
YES
]);
}
LogTrace
::
getModel
()
->
batchUpdateByField
(
array_values
(
$updateArr
),
'request_id'
);
}
...
...
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