🔧 Reworked the jobResults aggregation
This commit is contained in:
@@ -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",
|
||||
},
|
||||
},
|
||||
},
|
||||
]);
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user