@@ -27,7 +27,7 @@ function deleteFailedKeysFromState(keys): void {
2727 }
2828}
2929
30- async function queueWorker ( task , callback ) : Promise < void > {
30+ async function queueWorkerWorkloadScan ( task , callback ) : Promise < void > {
3131 const { workloadWorker, workloadMetadata, imageKeys} = task ;
3232 try {
3333 await workloadWorker . process ( workloadMetadata ) ;
@@ -37,12 +37,23 @@ async function queueWorker(task, callback): Promise<void> {
3737 }
3838}
3939
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 ) ;
4148
4249workloadsToScanQueue . error ( function ( err , task ) {
4350 logger . error ( { err, task} , 'error processing a workload in the pod handler 1' ) ;
4451} ) ;
4552
53+ metadataToSendQueue . error ( function ( err , task ) {
54+ logger . error ( { err, task} , 'error processing a workload metadata send task' ) ;
55+ } ) ;
56+
4657function handleReadyPod ( workloadWorker : WorkloadWorker , workloadMetadata : IWorkload [ ] ) : void {
4758 const imagesToScan : IWorkload [ ] = [ ] ;
4859 const imageKeys : string [ ] = [ ] ;
@@ -87,7 +98,7 @@ export async function podWatchHandler(pod: V1Pod): Promise<void> {
8798 // every element contains the workload information, so we can get it from the first one
8899 const workloadMember = workloadMetadata [ 0 ] ;
89100 const workloadMetadataPayload = constructHomebaseWorkloadMetadataPayload ( workloadMember ) ;
90- await sendWorkloadMetadata ( workloadMetadataPayload ) ;
101+ metadataToSendQueue . push ( { workloadMetadataPayload} ) ;
91102 const workloadName = workloadMember . name ;
92103 const workloadWorker = new WorkloadWorker ( workloadName ) ;
93104 handleReadyPod ( workloadWorker , workloadMetadata ) ;
0 commit comments