@@ -10,6 +10,7 @@ import MonitorResourceUtil from "Common/Server/Utils/Monitor/MonitorResource";
10
10
import Monitor from "Common/Models/DatabaseModels/Monitor" ;
11
11
import ProjectService from "Common/Server/Services/ProjectService" ;
12
12
import OneUptimeDate from "Common/Types/Date" ;
13
+ import SortOrder from "Common/Types/BaseDatabase/SortOrder" ;
13
14
import QueryHelper from "Common/Server/Types/Database/QueryHelper" ;
14
15
15
16
RunCron (
@@ -18,6 +19,33 @@ RunCron(
18
19
async ( ) => {
19
20
logger . debug ( "Checking IncomingRequestMonitor:CheckHeartbeat" ) ;
20
21
22
+ const newIncomingRequestMonitors : Array < Monitor > =
23
+ await MonitorService . findBy ( {
24
+ query : {
25
+ ...MonitorService . getEnabledMonitorQuery ( ) ,
26
+ monitorType : MonitorType . IncomingRequest ,
27
+ project : {
28
+ ...ProjectService . getActiveProjectStatusQuery ( ) ,
29
+ } ,
30
+ incomingRequestMonitorHeartbeatCheckedAt : QueryHelper . isNull ( ) ,
31
+ } ,
32
+ props : {
33
+ isRoot : true ,
34
+ } ,
35
+ select : {
36
+ _id : true ,
37
+ monitorSteps : true ,
38
+ incomingRequestReceivedAt : true ,
39
+ incomingRequestMonitorHeartbeatCheckedAt : true ,
40
+ createdAt : true ,
41
+ } ,
42
+ sort : {
43
+ createdAt : SortOrder . Ascending ,
44
+ } ,
45
+ limit : LIMIT_MAX ,
46
+ skip : 0 ,
47
+ } ) ;
48
+
21
49
const incomingRequestMonitors : Array < Monitor > = await MonitorService . findBy (
22
50
{
23
51
query : {
@@ -26,13 +54,7 @@ RunCron(
26
54
project : {
27
55
...ProjectService . getActiveProjectStatusQuery ( ) ,
28
56
} ,
29
- incomingRequestMonitorHeartbeatCheckedAt :
30
- QueryHelper . lessThanEqualToOrNull (
31
- OneUptimeDate . addRemoveMinutes (
32
- OneUptimeDate . getCurrentDate ( ) ,
33
- - 1 ,
34
- ) ,
35
- ) ,
57
+ incomingRequestMonitorHeartbeatCheckedAt : QueryHelper . notNull ( ) ,
36
58
} ,
37
59
props : {
38
60
isRoot : true ,
@@ -41,20 +63,29 @@ RunCron(
41
63
_id : true ,
42
64
monitorSteps : true ,
43
65
incomingRequestReceivedAt : true ,
66
+ incomingRequestMonitorHeartbeatCheckedAt : true ,
44
67
createdAt : true ,
45
68
} ,
69
+ sort : {
70
+ incomingRequestMonitorHeartbeatCheckedAt : SortOrder . Ascending ,
71
+ } ,
46
72
limit : LIMIT_MAX ,
47
73
skip : 0 ,
48
74
} ,
49
75
) ;
50
76
77
+ const totalIncomingRequestMonitors : Array < Monitor > = [
78
+ ...newIncomingRequestMonitors ,
79
+ ...incomingRequestMonitors ,
80
+ ] ;
81
+
51
82
logger . debug (
52
- `Found ${ incomingRequestMonitors . length } incoming request monitors` ,
83
+ `Found ${ totalIncomingRequestMonitors . length } incoming request monitors` ,
53
84
) ;
54
85
55
- logger . debug ( incomingRequestMonitors ) ;
86
+ logger . debug ( totalIncomingRequestMonitors ) ;
56
87
57
- for ( const monitor of incomingRequestMonitors ) {
88
+ for ( const monitor of totalIncomingRequestMonitors ) {
58
89
try {
59
90
60
91
await MonitorService . updateOneById ( {
0 commit comments