@@ -316,6 +316,9 @@ export abstract class C2DEngine {
316316 } catch ( e ) {
317317 CORE_LOGGER . error ( 'Failed to get running jobs:' + e . message )
318318 }
319+
320+ const envResourceIds = new Set ( ( env . resources || [ ] ) . map ( ( r ) => r . id ) )
321+
319322 let totalJobs = 0
320323 let totalFreeJobs = 0
321324 let queuedJobs = 0
@@ -324,9 +327,13 @@ export abstract class C2DEngine {
324327 let maxWaitTimeFree = 0
325328 let maxRunningTime = 0
326329 let maxRunningTimeFree = 0
330+
327331 for ( const job of jobs ) {
328- if ( job . environment === env . id ) {
329- if ( job . queueMaxWaitTime === 0 ) {
332+ const isThisEnv = job . environment === env . id
333+ const isRunning = job . queueMaxWaitTime === 0
334+
335+ if ( isThisEnv ) {
336+ if ( isRunning ) {
330337 const timeElapsed =
331338 new Date ( ) . getTime ( ) / 1000 - Number . parseFloat ( job ?. algoStartTimestamp )
332339 totalJobs ++
@@ -335,23 +342,27 @@ export abstract class C2DEngine {
335342 totalFreeJobs ++
336343 maxRunningTimeFree += job . maxJobDuration - timeElapsed
337344 }
345+ } else {
346+ queuedJobs ++
347+ maxWaitTime += job . maxJobDuration
348+ if ( job . isFree ) {
349+ queuedFreeJobs ++
350+ maxWaitTimeFree += job . maxJobDuration
351+ }
352+ }
353+ }
338354
339- for ( const resource of job . resources ) {
355+ // Resource usage is checked on ALL envs
356+ if ( isRunning ) {
357+ for ( const resource of job . resources ) {
358+ if ( envResourceIds . has ( resource . id ) ) {
340359 if ( ! ( resource . id in usedResources ) ) usedResources [ resource . id ] = 0
341360 usedResources [ resource . id ] += resource . amount
342361 if ( job . isFree ) {
343362 if ( ! ( resource . id in usedFreeResources ) ) usedFreeResources [ resource . id ] = 0
344363 usedFreeResources [ resource . id ] += resource . amount
345364 }
346365 }
347- } else {
348- // queued job
349- queuedJobs ++
350- maxWaitTime += job . maxJobDuration
351- if ( job . isFree ) {
352- queuedFreeJobs ++
353- maxWaitTimeFree += job . maxJobDuration
354- }
355366 }
356367 }
357368 }
0 commit comments