X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=blobdiff_plain;f=NG-RO%2Fosm_ng_ro%2Fns_thread.py;h=681128ec34006ea4c20a1419c3358645394f8c8a;hp=2efdbc00c6d882727327d24e7fc640a7f22a1127;hb=becd083422f214e1480a8ecfadc748af2ea41703;hpb=160fcad1093bd3ec9f1fe574e76850610a7f034a diff --git a/NG-RO/osm_ng_ro/ns_thread.py b/NG-RO/osm_ng_ro/ns_thread.py index 2efdbc00..681128ec 100644 --- a/NG-RO/osm_ng_ro/ns_thread.py +++ b/NG-RO/osm_ng_ro/ns_thread.py @@ -32,7 +32,7 @@ import yaml from copy import deepcopy from http import HTTPStatus from os import mkdir -from pkg_resources import iter_entry_points +from importlib_metadata import entry_points from shutil import rmtree from unittest.mock import Mock @@ -1229,8 +1229,8 @@ class NsWorker(threading.Thread): return self.plugins[name] try: - for v in iter_entry_points("osm_ro{}.plugins".format(type), name): - self.plugins[name] = v.load() + for ep in entry_points(group="osm_ro{}.plugins".format(type), name=name): + self.plugins[name] = ep.load() except Exception as e: raise NsWorkerException("Cannot load plugin osm_{}: {}".format(name, e)) @@ -1758,6 +1758,11 @@ class NsWorker(threading.Thread): next_check_at = min( next_check_at, dependency_ro_task["to_check_at"] ) + # must allow dependent task to be processed first + # to do this set time after last_task_processed + next_check_at = max( + self.time_last_task_processed, next_check_at + ) break elif dependency_task["status"] == "FAILED": error_text = "Cannot {} {} because depends on failed {} {} id={}): {}".format(