Skip to content
Snippets Groups Projects
Commit a33e1208 authored by Valentin Rigal's avatar Valentin Rigal
Browse files

Add real worker version values to the ML report

parent bde7000a
No related branches found
No related tags found
1 merge request!149Add real worker version values to the ML report
......@@ -10,11 +10,13 @@ from arkindex_worker import logger
class Reporter(object):
def __init__(self, name):
# TODO: use real data from workers
def __init__(
self, name="Unknown worker", slug="unknown-slug", version=None, **kwargs
):
self.report_data = {
"slug": name,
"version": "0.0",
"name": name,
"slug": slug,
"version": version,
"started": datetime.utcnow().isoformat(),
"elements": {},
}
......
......@@ -39,9 +39,6 @@ class ElementsWorker(
def __init__(self, description="Arkindex Elements Worker", support_cache=False):
super().__init__(description, support_cache)
# Add report concerning elements
self.report = Reporter("unknown worker")
# Add mandatory argument to process elements
self.parser.add_argument(
"--elements-list",
......@@ -93,6 +90,13 @@ class ElementsWorker(
), "Worker must be configured to access its process activity state"
return self.process_information.get("activity_state") == "ready"
def configure(self):
super().configure()
# Add report concerning elements
self.report = Reporter(
**self.worker_details, version=getattr(self, "worker_version_id", None)
)
def run(self):
"""
Process every elements from the provided list
......
......@@ -145,16 +145,19 @@ class BaseWorker(object):
f"Loaded worker {worker_version['worker']['name']} revision {worker_version['revision']['hash'][0:7]} from API"
)
self.config = worker_version["configuration"]["configuration"]
self.worker_details = worker_version["worker"]
required_secrets = worker_version["configuration"].get("secrets", [])
elif self.args.config:
# Load config from YAML file
self.config = yaml.safe_load(self.args.config)
self.worker_details = {"name": "Local worker"}
required_secrets = self.config.get("secrets", [])
logger.info(
f"Running with local configuration from {self.args.config.name}"
)
else:
self.config = {}
self.worker_details = {}
required_secrets = []
logger.warning("Running without any extra configuration")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment