Skip to content

Postgres Process manager does not persist job results #2161

@webb-ben

Description

@webb-ben

Description
When running OAProcesses with a PostgreSQL job manager on scaling containers in Cloud Run, we are noticing that we are unable to retrieve job results if the container executing the process is ephemeral. We are unable to a have persistent job manager if the job result is not tied to the same lifespan.

It seems all process managers delegate execution of the actual process to base_manager.py which only writes results to a directory. Does it make sense to store the process result in the same context as the process manager? Or is there some reason I am missing that all managers are still implementing a custom get_job_result when the location of the job result is determined by the parent class.

It could either be a second table with the job id as the PK and result bytes as acompanying column - or this could be an added column to the existing manager table.

Steps to Reproduce
Steps to reproduce the behavior:
Run pygeoapi with manager on some sort of system with ephemeral containers.

Expected behavior
Job results values stay in sync with the job manager.

Screenshots/Tracebacks
If applicable, add screenshots to help explain your problem.

Environment

  • OS: ubuntu
  • Python version: 3.12
  • pygeoapi version: 0.22.0

Additional context
We could create a separate volume to write job results to.
cc @C-Loftus

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions