@@ -27,7 +27,7 @@ function deleteFailedKeysFromState(keys): void {
27
27
}
28
28
}
29
29
30
- async function queueWorker ( task , callback ) : Promise < void > {
30
+ async function queueWorkerWorkloadScan ( task , callback ) : Promise < void > {
31
31
const { workloadWorker, workloadMetadata, imageKeys} = task ;
32
32
try {
33
33
await workloadWorker . process ( workloadMetadata ) ;
@@ -37,12 +37,23 @@ async function queueWorker(task, callback): Promise<void> {
37
37
}
38
38
}
39
39
40
- const workloadsToScanQueue = async . queue ( queueWorker , config . WORKLOADS_TO_SCAN_QUEUE_WORKER_COUNT ) ;
40
+ const workloadsToScanQueue = async . queue ( queueWorkerWorkloadScan , config . WORKLOADS_TO_SCAN_QUEUE_WORKER_COUNT ) ;
41
+
42
+ async function queueWorkerMetadataSender ( task , callback ) : Promise < void > {
43
+ const { workloadMetadataPayload} = task ;
44
+ await sendWorkloadMetadata ( workloadMetadataPayload ) ;
45
+ }
46
+
47
+ const metadataToSendQueue = async . queue ( queueWorkerMetadataSender , config . METADATA_TO_SEND_QUEUE_WORKER_COUNT ) ;
41
48
42
49
workloadsToScanQueue . error ( function ( err , task ) {
43
50
logger . error ( { err, task} , 'error processing a workload in the pod handler 1' ) ;
44
51
} ) ;
45
52
53
+ metadataToSendQueue . error ( function ( err , task ) {
54
+ logger . error ( { err, task} , 'error processing a workload metadata send task' ) ;
55
+ } ) ;
56
+
46
57
function handleReadyPod ( workloadWorker : WorkloadWorker , workloadMetadata : IWorkload [ ] ) : void {
47
58
const imagesToScan : IWorkload [ ] = [ ] ;
48
59
const imageKeys : string [ ] = [ ] ;
@@ -87,7 +98,7 @@ export async function podWatchHandler(pod: V1Pod): Promise<void> {
87
98
// every element contains the workload information, so we can get it from the first one
88
99
const workloadMember = workloadMetadata [ 0 ] ;
89
100
const workloadMetadataPayload = constructHomebaseWorkloadMetadataPayload ( workloadMember ) ;
90
- await sendWorkloadMetadata ( workloadMetadataPayload ) ;
101
+ metadataToSendQueue . push ( { workloadMetadataPayload} ) ;
91
102
const workloadName = workloadMember . name ;
92
103
const workloadWorker = new WorkloadWorker ( workloadName ) ;
93
104
handleReadyPod ( workloadWorker , workloadMetadata ) ;
0 commit comments