🔧 Reworked the jobResults aggregation

This commit is contained in:
2023-08-29 23:58:06 -04:00
parent c718456adc
commit b4b83e5c75

View File

@@ -177,8 +177,12 @@ export default class JobQueueService extends Service {
sessionId: "$sessionId",
status: "$status",
},
earliestTimestamp: { $min: "$timestamp" },
count: { $sum: 1 },
earliestTimestamp: {
$min: "$timestamp",
},
count: {
$sum: 1,
},
},
},
{
@@ -193,6 +197,55 @@ export default class JobQueueService extends Service {
},
},
},
{
$project: {
_id: 0,
sessionId: "$_id",
completedJobs: {
$reduce: {
input: "$statuses",
initialValue: 0,
in: {
$sum: [
"$$value",
{
$cond: [
{
$eq: ["$$this.status", "completed"],
},
"$$this.count",
0,
],
},
],
},
},
},
failedJobs: {
$reduce: {
input: "$statuses",
initialValue: 0,
in: {
$sum: [
"$$value",
{
$cond: [
{
$eq: ["$$this.status", "failed"],
},
"$$this.count",
0,
],
},
],
},
},
},
earliestTimestamp: {
$min: "$statuses.earliestTimestamp",
},
},
},
]);
},
},