Skip to content

Scientist performs a recorded code run #2

Description

@krystophny

User story

  1. (optional) I pull required input and templates from DATA to RUN.
    dat pull <path>
  2. I start the run.
    slurm <run_code>
  3. I commit the started run to the database.
    dat commit -m <message>
  4. The run has finished. I push results from RUN to DATA.
    dat push

Code story

  1. Unidirectional sync of subdirectory DATA->RUN. DATA access from file system or cloud. No metadata.
  2. Code writes (optional) specific metadata in metadata.json. Careful with parallelization.
  3. Dat writes message (title and optional body) and automatically retrievable information to metadata.json and creates an according database entry with status running.
  4. Dat updates local metadata.json and database and sets status finished. Unidirectional sync of current directory from RUN to DATA.

Implementation

  1. Via rclone.
  2. JSON in eLabFTW standard. Python: json in standard library, Fortran: json-fortran.
  3. Mimick git and use eLabFTW API. Credentials have been stored as environment variables.
  4. As above.

Open questions

  • What if a run fails? Still push and/or store metadata as failed?
  • dat search via eLabFTW API?
  • dat remote add to store urls and keys?

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