@oneuptime/common 9.4.0 → 9.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/DatabaseModels/StatusPageDomain.ts +2 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768825402472-MigrationName.ts +317 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -6
- package/Server/Services/DatabaseService.ts +23 -1
- package/Server/Services/DomainService.ts +26 -15
- package/Server/Services/MonitorProbeService.ts +96 -1
- package/Types/Domain.ts +23 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js +2 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768825402472-MigrationName.js +116 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768825402472-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -6
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +12 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DomainService.js +19 -8
- package/build/dist/Server/Services/DomainService.js.map +1 -1
- package/build/dist/Server/Services/MonitorProbeService.js +77 -0
- package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
- package/build/dist/Types/Domain.js +23 -1
- package/build/dist/Types/Domain.js.map +1 -1
- package/package.json +1 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768647802022-RemoveAlertPhoneNumberFromUser.ts +0 -22
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768649699509-MigrationName.ts +0 -787
- package/Server/Infrastructure/Postgres/SchemaMigrations/1768682071562-MigrationName.ts +0 -29
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768647802022-RemoveAlertPhoneNumberFromUser.js +0 -34
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768647802022-RemoveAlertPhoneNumberFromUser.js.map +0 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768649699509-MigrationName.js +0 -270
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768649699509-MigrationName.js.map +0 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768682071562-MigrationName.js +0 -16
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1768682071562-MigrationName.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import ObjectID from "../../Types/ObjectID";
|
|
1
2
|
import DatabaseService from "./DatabaseService";
|
|
2
3
|
import OneUptimeDate from "../../Types/Date";
|
|
3
4
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
@@ -54,6 +55,82 @@ export class Service extends DatabaseService {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Atomically claims monitor probes for a specific probe instance.
|
|
60
|
+
* Uses PostgreSQL's FOR UPDATE SKIP LOCKED to prevent multiple probe instances
|
|
61
|
+
* from picking up the same monitors simultaneously.
|
|
62
|
+
*
|
|
63
|
+
* @param data - Object containing probeId, limit, and nextPingAt
|
|
64
|
+
* @returns Array of claimed MonitorProbe IDs
|
|
65
|
+
*/
|
|
66
|
+
async claimMonitorProbesForProbing(data) {
|
|
67
|
+
const currentDate = OneUptimeDate.getCurrentDate();
|
|
68
|
+
/*
|
|
69
|
+
* Use a transaction with FOR UPDATE SKIP LOCKED to atomically claim monitors
|
|
70
|
+
* This prevents multiple probe instances from picking up the same monitors
|
|
71
|
+
*/
|
|
72
|
+
const claimedIds = await this.executeTransaction(async (transactionalEntityManager) => {
|
|
73
|
+
/*
|
|
74
|
+
* First, select and lock the monitor probes that need to be processed
|
|
75
|
+
* FOR UPDATE SKIP LOCKED ensures that:
|
|
76
|
+
* 1. Rows are locked for this transaction
|
|
77
|
+
* 2. Rows already locked by other transactions are skipped
|
|
78
|
+
*/
|
|
79
|
+
const selectQuery = `
|
|
80
|
+
SELECT mp."_id"
|
|
81
|
+
FROM "MonitorProbe" mp
|
|
82
|
+
INNER JOIN "Monitor" m ON mp."monitorId" = m."_id"
|
|
83
|
+
INNER JOIN "Project" p ON mp."projectId" = p."_id"
|
|
84
|
+
WHERE mp."probeId" = $1
|
|
85
|
+
AND mp."isEnabled" = true
|
|
86
|
+
AND mp."deletedAt" IS NULL
|
|
87
|
+
AND (mp."nextPingAt" IS NULL OR mp."nextPingAt" <= $2)
|
|
88
|
+
AND m."disableActiveMonitoring" = false
|
|
89
|
+
AND m."disableActiveMonitoringBecauseOfManualIncident" = false
|
|
90
|
+
AND m."disableActiveMonitoringBecauseOfScheduledMaintenanceEvent" = false
|
|
91
|
+
AND m."deletedAt" IS NULL
|
|
92
|
+
AND p."deletedAt" IS NULL
|
|
93
|
+
AND (p."paymentProviderSubscriptionStatus" IS NULL
|
|
94
|
+
OR p."paymentProviderSubscriptionStatus" IN ('active', 'trialing'))
|
|
95
|
+
AND (p."paymentProviderMeteredSubscriptionStatus" IS NULL
|
|
96
|
+
OR p."paymentProviderMeteredSubscriptionStatus" IN ('active', 'trialing'))
|
|
97
|
+
ORDER BY mp."nextPingAt" ASC NULLS FIRST
|
|
98
|
+
LIMIT $3
|
|
99
|
+
FOR UPDATE OF mp SKIP LOCKED
|
|
100
|
+
`;
|
|
101
|
+
const selectedRows = await transactionalEntityManager.query(selectQuery, [
|
|
102
|
+
data.probeId.toString(),
|
|
103
|
+
currentDate,
|
|
104
|
+
data.limit,
|
|
105
|
+
]);
|
|
106
|
+
if (selectedRows.length === 0) {
|
|
107
|
+
return [];
|
|
108
|
+
}
|
|
109
|
+
const ids = selectedRows.map((row) => {
|
|
110
|
+
return row._id;
|
|
111
|
+
});
|
|
112
|
+
/*
|
|
113
|
+
* Update the claimed monitors to set nextPingAt to 1 minute from now
|
|
114
|
+
* This is a temporary value; the actual nextPingAt will be calculated
|
|
115
|
+
* based on the monitor's interval after the probe fetches the full details
|
|
116
|
+
*/
|
|
117
|
+
const tempNextPingAt = OneUptimeDate.addRemoveMinutes(currentDate, 1);
|
|
118
|
+
const updateQuery = `
|
|
119
|
+
UPDATE "MonitorProbe"
|
|
120
|
+
SET "lastPingAt" = $1, "nextPingAt" = $2
|
|
121
|
+
WHERE "_id" = ANY($3::uuid[])
|
|
122
|
+
`;
|
|
123
|
+
await transactionalEntityManager.query(updateQuery, [
|
|
124
|
+
currentDate,
|
|
125
|
+
tempNextPingAt,
|
|
126
|
+
ids,
|
|
127
|
+
]);
|
|
128
|
+
return ids.map((id) => {
|
|
129
|
+
return new ObjectID(id);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
return claimedIds;
|
|
133
|
+
}
|
|
57
134
|
async onBeforeCreate(createBy) {
|
|
58
135
|
var _a, _b;
|
|
59
136
|
if ((createBy.data.monitorId || createBy.data.monitor) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitorProbeService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorProbeService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MonitorProbeService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorProbeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,18 @@ import DatabaseProperty from "./Database/DatabaseProperty";
|
|
|
2
2
|
import BadDataException from "./Exception/BadDataException";
|
|
3
3
|
import { ObjectType } from "./JSON";
|
|
4
4
|
import Zod from "../Utils/Schema/Zod";
|
|
5
|
-
|
|
5
|
+
class Domain extends DatabaseProperty {
|
|
6
|
+
/**
|
|
7
|
+
* Checks if a domain is a test/reserved domain that can skip DNS verification.
|
|
8
|
+
* Test domains include .example.com, .example.org, .example.net, and .test TLDs.
|
|
9
|
+
* These are reserved by IANA for documentation and testing purposes.
|
|
10
|
+
*/
|
|
11
|
+
static isTestDomain(domain) {
|
|
12
|
+
const domainLower = domain.toLowerCase().trim();
|
|
13
|
+
return Domain.TEST_DOMAIN_SUFFIXES.some((suffix) => {
|
|
14
|
+
return domainLower.endsWith(suffix);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
6
17
|
get domain() {
|
|
7
18
|
return this._domain;
|
|
8
19
|
}
|
|
@@ -84,4 +95,15 @@ export default class Domain extends DatabaseProperty {
|
|
|
84
95
|
});
|
|
85
96
|
}
|
|
86
97
|
}
|
|
98
|
+
/*
|
|
99
|
+
* Reserved TLDs for testing and documentation (per IANA)
|
|
100
|
+
* These domains can never have real DNS records, so they're safe for testing
|
|
101
|
+
*/
|
|
102
|
+
Domain.TEST_DOMAIN_SUFFIXES = [
|
|
103
|
+
".example.com",
|
|
104
|
+
".example.org",
|
|
105
|
+
".example.net",
|
|
106
|
+
".test",
|
|
107
|
+
];
|
|
108
|
+
export default Domain;
|
|
87
109
|
//# sourceMappingURL=Domain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../../../Types/Domain.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAc,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,GAAkB,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../../../Types/Domain.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
-
import CaptureSpan from "../../../Utils/Telemetry/CaptureSpan";
|
|
3
|
-
|
|
4
|
-
export class RemoveAlertPhoneNumberFromUser1768647802022
|
|
5
|
-
implements MigrationInterface
|
|
6
|
-
{
|
|
7
|
-
public name = "RemoveAlertPhoneNumberFromUser1768647802022";
|
|
8
|
-
|
|
9
|
-
@CaptureSpan()
|
|
10
|
-
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
11
|
-
await queryRunner.query(
|
|
12
|
-
`ALTER TABLE "User" DROP COLUMN IF EXISTS "alertPhoneNumber"`,
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
@CaptureSpan()
|
|
17
|
-
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
18
|
-
await queryRunner.query(
|
|
19
|
-
`ALTER TABLE "User" ADD "alertPhoneNumber" character varying(30)`,
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
}
|