Skip to content

Commit e1b981e

Browse files
committed
Add isworking endpoint to master server for status monitoring
1 parent ce65ca9 commit e1b981e

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

OculusDB/ScrapingMaster/ScrapingMasterServer.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ public void StartServer(HttpServer httpServer)
9191
request.SendString(JsonSerializer.Serialize(ScrapingManaging.ProcessHeartBeat(heartBeat, r)), "application/json");
9292
return true;
9393
});
94+
server.AddRoute("GET","/api/v1/isworking/", request =>
95+
{
96+
string nodeId = request.pathDiff;
97+
ScrapingNodeStats? s = ScrapingNodeMongoDBManager.GetScrapingNode(nodeId);
98+
if (s == null)
99+
{
100+
request.Send404();
101+
}
102+
request.SendString(JsonSerializer.Serialize(s), "application/json", s!.online ? 200 : 418);
103+
return true;
104+
});
94105
server.AddRoute("POST", "/api/v1/reportscrapingerror/", request =>
95106
{
96107
ScrapingErrorContainer errorContainer = JsonSerializer.Deserialize<ScrapingErrorContainer>(request.bodyString);

OculusDB/ScrapingMaster/ScrapingNodeMongoDBManager.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,23 @@ public static List<ScrapingNodeStats> GetScrapingNodes()
384384
return x;
385385
});
386386
}
387+
public static ScrapingNodeStats? GetScrapingNode(string id)
388+
{
389+
ScrapingNodeStats? x = scrapingNodeStats.Find(x => x.scrapingNode.scrapingNodeId == id).FirstOrDefault();
390+
if (x != null)
391+
{
392+
x.SetOnline();
393+
// Find contribution in DB
394+
x.contribution = scrapingNodeContributions.Find(y => y.scrapingNode.scrapingNodeId == x.scrapingNode.scrapingNodeId)
395+
.FirstOrDefault();
396+
if (x.contribution == null) x.contribution = new ScrapingContribution();
397+
if (ScrapingManaging.processingRn.TryGetValue(x.scrapingNode.scrapingNodeId, out ScrapingNodeTaskResultProcessing? processing))
398+
{
399+
x.tasksProcessing = processing.processingCount;
400+
}
401+
}
402+
return x;
403+
}
387404

388405
public static void CleanAppsScraping()
389406
{

0 commit comments

Comments
 (0)