Skip to content

Support multi-profile restapis #169

Description

@Bud-Macaulay

Hi

I am currently investigating the feasibility of booting many AiiDA RESTAPIs under one service.

The old implementation uses a supervisord PID spawner for each profile, which has considerable overhead, (50MB per instance) which is resulting in large memory concerns when spinning up over 100 profiles >5Gb+.

I have noticed that hte AiiDA docs seems to imply the following is supported:
http://127.0.0.1:5000/api/v4/computers?profile=some-profile-name
https://aiida.readthedocs.io/projects/aiida-core/en/stable/howto/share_data.html?utm_source=chatgpt.com

However, this seems to be a syntax i would not keep, (putting this sort of routing semantics in searchparams seems undesired)

I would propose an alternative:
http://127.0.0.1:5000/api/v4/some-profile-name/computers

I think this feature also appears to be a little buggy / may not work with QueryBuilder or other things.

I can in principle have a hypervisord that spins up restapis only on request to avoid having many PIDs open at once and the large memory footprint, https://github.com/Bud-Macaulay/aiida-hyperserver ... but perhaps this feels like a feature we may want to support at the rest-api level.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions