Skip to content

Fix/sandbox output concurrency limits - #5

Merged
RuslanLomaka merged 2 commits into
masterfrom
fix/sandbox-output-concurrency-limits
Aug 16, 2026
Merged

Fix/sandbox output concurrency limits#5
RuslanLomaka merged 2 commits into
masterfrom
fix/sandbox-output-concurrency-limits

Conversation

@RuslanLomaka

Copy link
Copy Markdown
Owner

Here I created the limitation for memory on my Raspberry Pi 4, which is the host for this project. I added 256 MB of RAM per Docker container for running Sandbox Java code. I also added concurrency, so no more than two processors at the same time can run simultaneously, and if there are some extra, they just will wait by the semaphore principle.

Adds a 1MB cap on captured container output (killed early if exceeded),
bounds concurrent Docker executions to 2 via a blocking semaphore to
match the host's real CPU capacity, and lowers the per-container
memory limit from 512m to 256m based on empirical OOM testing.
If the concurrency limit is hit, requests now wait in a queue instead
of failing, so the console message clarifies that a longer wait may
just mean the sandbox is busy with other submissions.
@RuslanLomaka
RuslanLomaka merged commit 3cd21e8 into master Aug 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant