🔧 Reworked the jobResults aggregation
This commit is contained in:
@@ -177,8 +177,12 @@ export default class JobQueueService extends Service {
|
|||||||
sessionId: "$sessionId",
|
sessionId: "$sessionId",
|
||||||
status: "$status",
|
status: "$status",
|
||||||
},
|
},
|
||||||
earliestTimestamp: { $min: "$timestamp" },
|
earliestTimestamp: {
|
||||||
count: { $sum: 1 },
|
$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