Bugfix 1491: Replacing pkg_resources for importlib.metadata
[osm/RO.git] / NG-RO / osm_ng_ro / ns_thread.py
index 2efdbc0..681128e 100644 (file)
@@ -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(