Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replicate Quantecon Execution Reporting #14

Open
chrisjsewell opened this issue Feb 25, 2020 · 1 comment
Open

Replicate Quantecon Execution Reporting #14

chrisjsewell opened this issue Feb 25, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@chrisjsewell
Copy link
Member

chrisjsewell commented Feb 25, 2020

See: https://python.quantecon.org/status.html

This can be achieved by:

  1. Staging all notebooks for execution
  2. Running execution (which will only run for notebooks that don't exist in the cache)
  3. During/after execution, successfully executed notebooks will be committed to the cache
    with commit records containing data like execution_time (as implemented in Allow the executor to save data to the commit record. #13)
  4. During/after execution, failed notebooks would also be stored in the cache, in a separate
    folder, with a 'failure record' that's linked to the 'staged record' (not yet implemented). This will be deleted when the notebook is unstaged or execution re-run.
  5. Then, given a staged PK/URI, you can work out the build status, based on whether a complimentary commit/failure record exists, and retrieve any requisite data/notebooks.
@chrisjsewell chrisjsewell added the enhancement New feature or request label Feb 25, 2020
@mmcky
Copy link
Member

mmcky commented Feb 25, 2020

For html plugins to parse the reports we will need to define a default report structure. In QuantEcon we have used json with the following structure but we may want to think a bit more deeply about what fields we wish to record etc.

{
    "results": [
        {
            "filename": "404",
            "runtime": "0:02.7",
            "num_errors": 0,
            "extension": "py",
            "language": "python3"
        },
        {
            "filename": "about_lectures",
            "runtime": "0:00.9",
            "num_errors": 0,
            "extension": "py",
            "language": "python3"
        },
       ...
    ],
    "run_time": "19-02-2020 15:30:22"
}

chrisjsewell added a commit that referenced this issue Mar 1, 2020
`JupyterExecutorBasic` has been restructured to:

- handle more exception
- have a better separation between cache access and notebook execution (may be changed further at a later date)
- Capture notebook execution, exception tracebacks and store them on the staged record (see README). This moves towards addressing #14
- Report final summary of executed/excepted on CLI

Also added an 'auto-generate' function for creating the CLI example section of the README
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants