Use less predicatable folder names
This removes the count
This commit is contained in:
parent
7a2f87da3f
commit
d25e0be634
21 changed files with 44 additions and 50 deletions
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.sh
|
echo "$1" > program.sh
|
||||||
bash program.sh
|
bash program.sh
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.c
|
echo "$1" > program.c
|
||||||
gcc program.c -o program && ./program
|
gcc program.c -o program && ./program
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.clj
|
echo "$1" > program.clj
|
||||||
clojure program.clj
|
clojure program.clj
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.cpp
|
echo "$1" > program.cpp
|
||||||
g++ program.cpp -o program && ./program
|
g++ program.cpp -o program && ./program
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
if [ "$EVAL_EXPR" = "true" ]; then
|
if [ "$EVAL_EXPR" = "true" ]; then
|
||||||
csharp -e "$1"
|
csharp -e "$1"
|
||||||
else
|
else
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.cs
|
echo "$1" > program.cs
|
||||||
csc program.cs >/dev/null && mono program.exe
|
csc program.cs >/dev/null && mono program.exe
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.exs
|
echo "$1" > program.exs
|
||||||
elixir program.exs
|
elixir program.exs
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.fs
|
echo "$1" > program.fs
|
||||||
fsharpc --optimize- program.fs >/dev/null && mono program.exe
|
fsharpc --optimize- program.fs >/dev/null && mono program.exe
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
export GOCACHE=/tmp/"$COUNT"/cache
|
export GOCACHE=/tmp/"$CODEDIR"/cache
|
||||||
echo "$1" > program.go
|
echo "$1" > program.go
|
||||||
go run program.go
|
go run program.go
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
if [ "$EVAL_EXPR" = "true" ]; then
|
if [ "$EVAL_EXPR" = "true" ]; then
|
||||||
ghc -e "$1"
|
ghc -e "$1"
|
||||||
else
|
else
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.hs
|
echo "$1" > program.hs
|
||||||
ghc -e main program.hs
|
ghc -e main program.hs
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > Main.java
|
echo "$1" > Main.java
|
||||||
javac Main.java && java Main
|
javac Main.java && java Main
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.lua
|
echo "$1" > program.lua
|
||||||
lua5.3 program.lua
|
lua5.3 program.lua
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.ml
|
echo "$1" > program.ml
|
||||||
ocamlopt -cclib --static -o program program.ml && ./program
|
ocamlopt -cclib --static -o program program.ml && ./program
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.pas
|
echo "$1" > program.pas
|
||||||
|
|
||||||
|
@ -12,4 +12,4 @@ else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.pl
|
echo "$1" > program.pl
|
||||||
perl program.pl
|
perl program.pl
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.pl
|
echo "$1" > program.pl
|
||||||
swipl --quiet program.pl
|
swipl --quiet program.pl
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.py
|
echo "$1" > program.py
|
||||||
python program.py
|
python program.py
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.py
|
echo "$1" > program.py
|
||||||
python program.py
|
python program.py
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.rkt
|
echo "$1" > program.rkt
|
||||||
racket program.rkt
|
racket program.rkt
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.rb
|
echo "$1" > program.rb
|
||||||
ruby program.rb
|
ruby program.rb
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
mkdir "$COUNT" && cd "$COUNT"
|
mkdir "$CODEDIR" && cd "$CODEDIR"
|
||||||
|
|
||||||
echo "$1" > program.rs
|
echo "$1" > program.rs
|
||||||
rustc -C opt-level=0 --color never program.rs && ./program
|
rustc -C opt-level=0 --color never program.rs && ./program
|
||||||
|
|
||||||
cd .. && rm -rf "$COUNT"
|
cd .. && rm -rf "$CODEDIR"
|
||||||
|
|
|
@ -102,7 +102,7 @@ class LanguageHandler extends AkairoHandler {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.handleSpawn(proc);
|
await this.handleSpawn(proc);
|
||||||
this.containers.set(dockerID, { name, count: 0 });
|
this.containers.set(dockerID, { name });
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`Started container ${name} for 1computer1/comp_iler:${dockerID}.`);
|
console.log(`Started container ${name} for 1computer1/comp_iler:${dockerID}.`);
|
||||||
return this.containers.get(dockerID);
|
return this.containers.get(dockerID);
|
||||||
|
@ -111,20 +111,14 @@ class LanguageHandler extends AkairoHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
incrementCount(dockerID) {
|
|
||||||
this.containers.get(dockerID).count += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
evalCode({ language, code, options }) {
|
evalCode({ language, code, options }) {
|
||||||
const { id: dockerID = language.id, env = {} } = language.runWith(options);
|
const { id: dockerID = language.id, env = {} } = language.runWith(options);
|
||||||
const queue = this.queues.get(dockerID);
|
const queue = this.queues.get(dockerID);
|
||||||
return queue.enqueue(async () => {
|
return queue.enqueue(async () => {
|
||||||
const { name, count } = await this.setupContainer(dockerID);
|
const { name } = await this.setupContainer(dockerID);
|
||||||
this.incrementCount(dockerID);
|
|
||||||
|
|
||||||
const proc = childProcess.spawn('docker', [
|
const proc = childProcess.spawn('docker', [
|
||||||
'exec',
|
'exec',
|
||||||
`-eCOUNT=${count}`,
|
`-eCODEDIR=${Date.now()}`,
|
||||||
...Object.entries(env).map(([k, v]) => `-e${k}=${v}`),
|
...Object.entries(env).map(([k, v]) => `-e${k}=${v}`),
|
||||||
name, '/bin/sh', '/var/run/run.sh', code
|
name, '/bin/sh', '/var/run/run.sh', code
|
||||||
]);
|
]);
|
||||||
|
|
Loading…
Reference in a new issue