lava_wait_jobs.py: Fetch artifacts for finished jobs immediately

Intention is to parallelize waiting for job completion and fetching
artifacts, i.e. as soon as a complete job is detected, fetch artifacts
for it, instead of spending time waiting for other jobs to complete
first.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Change-Id: I7bbfb31516ad53fe119f1775b5d795ffd07378bc
diff --git a/tfm_ci_pylib/lava_rpc_connector.py b/tfm_ci_pylib/lava_rpc_connector.py
index f9547e5..1e27932 100644
--- a/tfm_ci_pylib/lava_rpc_connector.py
+++ b/tfm_ci_pylib/lava_rpc_connector.py
@@ -296,7 +296,7 @@
                 break
         return self.scheduler.job_health(job_id)["job_health"]
 
-    def block_wait_for_jobs(self, job_ids, timeout, poll_freq=10):
+    def block_wait_for_jobs(self, job_ids, timeout, poll_freq=10, callback=None):
         """ Wait for multiple LAVA job ids to finish and return finished list """
 
         start_t = int(time.time())
@@ -331,6 +331,8 @@
                         cur_status['health'],
                         len(job_ids) - len(finished_jobs)
                     )
+                    if callback:
+                        callback(job_id, cur_status)
                 if len(job_ids) == len(finished_jobs):
                     break
                 else: