Hex projects have underlying kernels, which are essentially programs that run your code.
The kernel status is displayed in the lower-right of the Logic view, and in most cases should be green or "Running".
If your kernel has expired or been manually stopped or killed, your kernel will display "Stopped". You can run a cell or select the Run All option (from the kernel dropdown or the upper right of the project) to get the kernel going again.
In some cases, your kernel may display "Pending", meaning that your user has reached the limit of 25 concurrently running kernels and the project is waiting for a free kernel. This is most often due to running many projects using the Hex API. See the section below on maximum active kernels to learn more.
You may also occasionally want or need to restart your kernel, which you can do from the Run All dropdown. This is the equivalent of restarting your computer, and it can fix an unusual amount of problems.
Restarting or killing the kernel will erase the stored value of all python variables. If you have irreplaceable data stored in a python variable that you know cannot be reproduced next time you run the app, you should save that somewhere before restarting or killing the kernel.
The kernels powering your projects have a limited lifetime, after which they expire. The lifetime of your kernel depends on 2 factors: how it's being used and which Hex plan your Workspace is on.
For workspaces on Professional, Teams, or Enterprise plans:
- Kernels powering the Logic view of your project have an idle timeout of 5 hours. If you leave your project for more than 5 hours, your kernel will expire.
- Additionally, the maximum kernel runtime for the Logic view of your project is 24 hours. This means that your project can take no more than 24 hours to run from start to finish, otherwise the kernel will expire and your project will not complete its execution.
- Kernels powering published apps have an idle timeout of 15 minutes. If a published app user does not engage with the published app after 15 minutes, the kernel powering that app session will expire. A new kernel will automatically be started if the published app user engages with the app after this time.
For workspaces on the Community plan:
- Logic view kernel idle timeout is 1 hour.
- Maximum Logic view runtime is 1 hour.
- App session kernels expire after 5 minutes of idle time.
Maximum active kernels
Each Hex user is subject to a maximum of 25 concurrent active kernels. If you hit this limit, you can manually kill active kernels using the steps below.
For workspaces on our free Community edition or a 14-day free trial, we may limit the maximum number of concurrent active kernels available at the workspace level in order to maintain an optimal experience for all Hex users.
If your workspace reaches this limit, you can:
- Reach out to us! We're happy to remove this new workspace limit after verifying your kernel usage.
- Follow the below instructions for manually killing active kernels.
- Wait until more kernels are available (kernels are automatically killed after a timeout).
- Upgrade to a paid plan.
Manually killing active kernels
To make more kernels immediately available for your workspace or user, you can:
- Kill active or idle Logic kernels by clicking "Kill" from the Run All dropdown.
- Kill active or idle published app kernels by clicking "Kill" from the More menu (3 dots) in the top right corner, or by closing the published app tab or browser window.