Elastic Compute Pool
Maximize your Pro tier hardware. Learn how Python Online dynamically shifts RAM and CPU between your development environment, web apps, and background tasks.
The Global Resource Pool
When you upgrade to the Pro tier, you are allocated a dedicated hardware pool of 1.0 vCPU and 2 GB (2048 MB) of RAM. Instead of trapping you in rigid server sizes, Python Online utilizes an Elastic Heuristic Model.
This means the platform automatically balances your hardware between your three primary workloads: the IDE Workstation, your Always-On Web App, and your Scheduled Tasks.
| Scenario | IDE Workstation | Web App | Background Task |
|---|---|---|---|
| Pure Coding No apps or tasks running |
2048 MB (100%) 1.0 vCPU |
- | - |
| Hosting 1 Always-On App active |
1536 MB (75%) 0.75 vCPU |
512 MB (25%) 0.25 vCPU |
- |
| Processing 1 Scheduled Task active |
1536 MB (75%) 0.75 vCPU |
- | 512 MB (25%) 0.25 vCPU |
| Full Load App + Task + IDE |
1024 MB (50%) 0.50 vCPU |
512 MB (25%) 0.25 vCPU |
512 MB (25%) 0.25 vCPU |
The "Squeeze" Mechanism
When you start an Always-On App or when a Scheduled Task triggers, the platform performs a Live Resize of your IDE container. It "squeezes" the IDE to free up exactly 512MB of RAM for the new workload.
When the task finishes or you stop the web app, the platform instantly "expands" your IDE back to its maximum potential.
The Pre-Flight Safety Check
Shrinking a running computer's RAM is dangerous. If your IDE is currently running a heavy data science script that is using 1.8GB of RAM, and a scheduled task tries to shrink the IDE to 1.5GB, the Linux Kernel would be forced to crash your script (OOM-Kill).
To prevent this, Python Online implements a Safety Lock:
- Before starting any background workload (App or Task), the system measures your IDE's current physical memory usage.
- If the IDE is using more memory than the new target limit allows, the background workload is Blocked/Skipped.
- Deployment: You will see an error message: "Workstation Busy".
- Tasks: The scheduled task will be marked as "Failed" with a log entry: "Skipped - IDE Resources Busy".
The Solution: If your deployment or task is blocked, simply stop any heavy scripts running in your IDE terminal or REPL, wait a few seconds for memory to flush, and try again.
Single Always-On App Policy
To maintain platform stability, Pro users are granted One "Always On" Web Application at a time. This app runs 24/7 in a dedicated container with reserved resources.
You can deploy unlimited additional applications, but they will operate in Ephemeral Mode (sleeping when idle), similar to Free tier apps.
Switching Active Apps: If App A is currently "Always On", and you deploy App B with the "Always On" toggle enabled, the system will automatically downgrade App A to Ephemeral status to free up the slot for App B.