Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Online code execution system is a scalable and robust code execution engine which can be plugged in existing system and can act as code judge

Notifications You must be signed in to change notification settings

Vivek1997/online-code-execution-system

Repository files navigation

online code execution system


Online code execution system is a scalable and robust code execution engine. Which can be plugged in existing system and can act as code judge

components

  1. Server
  2. Worker

Server

Server contains all the controllers for interacting with workers.
It creates a new entry in database and at the same time in redis streams


Worker

Worker can be multiple instances that does the heavy lifting of running code.
Under the hood worker uses isolate library for running code in sandboxed environment.


Sequence diagram

sequence diagram


How to run

Start with only one replica

docker compose -f compose-file.yml up --build

To start with 3 replica of worker

docker compose -f compose-file.yml up --build --scale worker=3

Above command will spin up 4 containers

  1. server
  2. worker
  3. pgDB
  4. redis

To stop containers

docker compose -f compose-file.yml down


Supported languages

  1. Java (openjdk 17)
  2. Python (3.8.1)

About

Online code execution system is a scalable and robust code execution engine which can be plugged in existing system and can act as code judge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published