|
| 1 | +# Run JupyterLab |
| 2 | + |
| 3 | +Run JupyterLab is an app that runs JupyterLab on a back-end within your safe haven. JupyterLab is assumed to have been installed onto the back-end. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## Run app |
| 8 | + |
| 9 | +Complete the following information the app form: |
| 10 | + |
| 11 | +* **Cluster**: A back-end (cluster) within your safe haven on which to run JupyterLab. Back-end-specific short-names are used in the drop-down list (see [Back-end (cluster) names](../jobs.md#back-end-cluster-names) for more information). If there is only one back-end available to you then this form field won't be shown. |
| 12 | + |
| 13 | + !!! Note |
| 14 | + |
| 15 | + **National Safe Haven users**: If using a 'desktop' back-end, then you must select the 'desktop' you have been granted access to. |
| 16 | + |
| 17 | +* **CPUs/cores**: CPUs/cores requested for the app's job. Your chosen back-end must have the requested number of cores/CPUs available. |
| 18 | +* **Memory (GiB)**: Memory requested for the app's job. Your chosen back-end must have the requested memory available. |
| 19 | + |
| 20 | +Click **Launch**. |
| 21 | + |
| 22 | +Open OnDemand will create job files for the app in a job-specific job context directory in an app-specific directory under your `ondemand` directory and then submits the job for the app to the job scheduler. |
| 23 | + |
| 24 | +Open OnDemand will show an app job card with information about the app's job including: |
| 25 | + |
| 26 | +* Job status (on the top right of the job card): initially 'Queued'. |
| 27 | +* 'Created at': The time the job was submitted. |
| 28 | +* 'Time Requested': The runtime requested for the job. |
| 29 | +* 'Session ID': An auto-generated value which is used as the name of the job-specific job context directory. |
| 30 | +* App-specific information, which includes values from the app form: |
| 31 | + * 'Connection timeout (s)': when the app's job starts running, the app will then wait for JupyterLab to become available. If this does not occur within this app-specific period, then the app's job will cancel itself. |
| 32 | + * 'CPUs/cores': The value you selected on the app form. |
| 33 | + * 'Memory (GiB)' The value you selected on the app form. |
| 34 | + |
| 35 | +When the job starts, the Job status on the job card will update to 'Starting' and 'Time Requested' will switch to 'Time Remaining', the time your job has left to run before it is cancelled by the job scheduler. |
| 36 | + |
| 37 | +When the Job status updates to 'Running', a **Host** link will appear on the job card, which allows you to log in to the back-end on which the job, and so JupyterLab, is now running. |
| 38 | + |
| 39 | +A **Connect to JupyterLab** button will appear. JupyterLab is now ready for use. |
| 40 | + |
| 41 | +Click **Connect to JupyterLab**. A new browser tab will open with JupyterLab. |
| 42 | + |
| 43 | +!!! Warning |
| 44 | + |
| 45 | + Open OnDemand will wait 180 seconds (3 minutes) for JupyterLab to start. If it does not start within this time the job will be cancelled. |
| 46 | + |
| 47 | +!!! Warning |
| 48 | + |
| 49 | + JupyterLab will run for a maximum of 6 hours, after which it will be cancelled. |
| 50 | + |
| 51 | +!!! Warning |
| 52 | + |
| 53 | + Any running jobs are cancelled during the monthly TRE maintenance period. |
| 54 | + |
| 55 | +!!! Note |
| 56 | + |
| 57 | + Within the job scheduler, and the [Active Jobs](./active-jobs.md) app, this app's jobs are named 'jupyter_app'. |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## Log in to JupyterLab |
| 62 | + |
| 63 | +You will not be prompted for a username and password. JupyterLab is protected with an auto-generated password and **Connect to JupyterLab** button is configured to log you in automatically using this password. |
| 64 | + |
| 65 | +--- |
| 66 | + |
| 67 | +## Installing Python packages |
| 68 | + |
| 69 | +JupyterLab is configured with your web proxy environment variables so you can install packages from PyPI when using JupyterLab. |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +## View job files |
| 74 | + |
| 75 | +On a job's job card, click the **Session ID** link to open the [File Manager](../files.md), pointing at the job context directory for the job on the Open OnDemand VM. |
| 76 | + |
| 77 | +!!! Note |
| 78 | + |
| 79 | + When using a back-end where your home directory is not common to both the Open OnDemand VM and the back-end, then, if your job creates files on the back-end, you will have to log into the back-end to view your files - see [Log into back-ends](../ssh.md). |
| 80 | + |
| 81 | +--- |
| 82 | + |
| 83 | +## Log into back-end |
| 84 | + |
| 85 | +While the job is running, click the **Host** link to log into to back-end on which the job is running. |
| 86 | + |
| 87 | +If the job has completed, see [Log into back-ends](../ssh.md) for ways to log into the back-end. |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +## Take a break |
| 92 | + |
| 93 | +JupyterLab will continue to run even if you do the following: |
| 94 | + |
| 95 | +* Log out of JupyterLab via the **File** menu, **Log Out** option. |
| 96 | +* Close the browser tab. |
| 97 | +* Log out of Open OnDemand. |
| 98 | +* Log out of the VM from which you accessed Open OnDemand. |
| 99 | + |
| 100 | +You can re-access your running JupyterLab via the **Connect to JupyterLab** on your session's [job card](../jobs.md#job-cards) on the [My Interactive Sessions](../jobs.md#my-interactive-sessions-page) page accessed via **My Interactive Sessions** (overlaid squares icon) on the menu bar. |
| 101 | + |
| 102 | +{: class="border-img center"} ***My Interactive Sessions** menu button* |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## End your job |
| 107 | + |
| 108 | +You can end your job by as follows: |
| 109 | + |
| 110 | +* Either, shut down JupyterLab via the **File** menu, **Shut Down** option. |
| 111 | +* Or, cancel or delete the job via Open OnDemand. See [Browse and manage jobs](../jobs.md#browse-and-manage-jobs). |
0 commit comments