@@ -87,6 +87,21 @@ async function getHostsDayMap (limitHosts, now) {
87
87
}
88
88
return data
89
89
}
90
+
91
+ async function getPast5MinuteMap ( now ) {
92
+ const ts = parseInt ( Date . now ( ) . toString ( ) . slice ( 0 , 10 ) )
93
+ const events = [ ]
94
+ for ( let index = 1 ; index < 7 ; index ++ ) {
95
+ events . push ( cache . get ( 'requests:count:' + ( ts - index * 60 ) . toString ( ) ) )
96
+ }
97
+ const result = await Promise . all ( events )
98
+ const data = [ ]
99
+ data . push ( now - parseInt ( result [ 0 ] ) )
100
+ for ( let index = 0 ; index < ( result . length - 2 ) ; index ++ ) {
101
+ data . push ( parseInt ( result [ index ] ) - parseInt ( result [ index + 1 ] ) )
102
+ }
103
+ return data
104
+ }
90
105
module . exports = async ( ctx , next ) => {
91
106
const pkg = require ( path . join ( '../../' , 'package' ) )
92
107
const fetchData = await Promise . all ( [
@@ -124,9 +139,11 @@ module.exports = async (ctx, next) => {
124
139
// fetch DayMap
125
140
const fetchDayMap = await Promise . all ( [
126
141
getAllDayMap ( all . now ) ,
127
- getHostsDayMap ( limitHost , fetchData [ 4 ] )
142
+ getHostsDayMap ( limitHost , fetchData [ 4 ] ) ,
143
+ getPast5MinuteMap ( all . now )
128
144
] )
129
145
all . dayMap = fetchDayMap [ 0 ]
146
+ all . FiveMinuteMap = fetchDayMap [ 2 ]
130
147
Object . assign ( hosts , fetchDayMap [ 1 ] )
131
148
ctx . body = {
132
149
name : pkg . name ,
@@ -139,7 +156,8 @@ module.exports = async (ctx, next) => {
139
156
pastMinute : parseInt ( all . now ) - parseInt ( all . pastMinute ) ,
140
157
pastHour : parseInt ( all . now ) - parseInt ( all . pastHour ) ,
141
158
pastDay : parseInt ( all . now ) - parseInt ( all . pastDay ) ,
142
- dayMap : all . dayMap
159
+ dayMap : all . dayMap ,
160
+ FiveMinuteMap : all . FiveMinuteMap
143
161
} ,
144
162
hosts
145
163
} ,
0 commit comments