Skip to content

Commit

Permalink
Issue #106 update dependency and fix errors with get log entries
Browse files Browse the repository at this point in the history
PR #107
  • Loading branch information
JohanKJSchreurs authored Apr 14, 2023
1 parent d86b02e commit 4e3e18b
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 7 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ The format is roughly based on [Keep a Changelog](https://keepachangelog.com/en/


### Changed
- Support log level for retrieving BatchJob logs
([#106](https://github.com/Open-EO/openeo-aggregator/issues/106))

### Fixed

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"requests",
"attrs",
"openeo>=0.16.0.a5.dev",
"openeo_driver>=0.38.1.dev",
"openeo_driver>=0.40.0a1.dev",
"flask~=2.0",
"gunicorn~=20.0",
"python-json-logger>=2.0.0",
Expand Down
10 changes: 8 additions & 2 deletions src/openeo_aggregator/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -803,11 +803,17 @@ def get_result_metadata(self, job_id: str, user_id: str) -> BatchJobResultMetada
links=links,
)

def get_log_entries(self, job_id: str, user_id: str, offset: Optional[str] = None) -> List[dict]:
def get_log_entries(
self,
job_id: str,
user_id: str,
offset: Optional[str] = None,
level: Optional[str] = None,
) -> Iterable[dict]:
con, backend_job_id = self._get_connection_and_backend_job_id(aggregator_job_id=job_id)
with con.authenticated_from_request(request=flask.request, user=User(user_id)), \
self._translate_job_errors(job_id=job_id):
return con.job(backend_job_id).logs(offset=offset)
return con.job(backend_job_id).logs(offset=offset, level=level)


class ServiceIdMapping:
Expand Down
18 changes: 14 additions & 4 deletions src/openeo_aggregator/partitionedjobs/tracking.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,12 @@ def get_assets(self, user_id: str, pjob_id: str, flask_request: flask.Request) -
return assets

def get_logs(
self, user_id: str, pjob_id: str, flask_request: flask.Request, offset: Optional[int] = None
self,
user_id: str,
pjob_id: str,
flask_request: flask.Request,
offset: Optional[str] = None,
level: Optional[str] = None,
) -> List[LogEntry]:
sjobs = self._db.list_subjobs(user_id=user_id, pjob_id=pjob_id)
all_logs = []
Expand All @@ -326,7 +331,7 @@ def get_logs(
job_id = self._db.get_backend_job_id(user_id=user_id, pjob_id=pjob_id, sjob_id=sjob_id)
con = self._backends.get_connection(sjob_metadata["backend_id"])
with con.authenticated_from_request(request=flask_request):
logs = con.job(job_id).logs(offset=offset)
logs = con.job(job_id).logs(offset=offset, level=level)
for log in logs:
log["id"] = f"{sjob_id}-{log.id}"
all_logs.extend(logs)
Expand Down Expand Up @@ -391,13 +396,18 @@ def get_metadata(self) -> dict:
"""Interface `openeo.rest.JobResult.get_metadata`"""
return {}

def logs(self, offset=None) -> List[LogEntry]:
def logs(
self,
offset: Optional[str] = None,
level: Optional[str] = None,
) -> List[LogEntry]:
"""Interface `RESTJob.logs`"""
return self.connection.partitioned_job_tracker.get_logs(
user_id=self.connection._user.user_id,
pjob_id=self.pjob_id,
flask_request=self.connection._flask_request,
offset=offset
offset=offset,
level=level,
)

def __init__(self, partitioned_job_tracker: PartitionedJobTracker):
Expand Down

0 comments on commit 4e3e18b

Please sign in to comment.