remove main

This commit is contained in:
Thomas Hobson 2021-04-23 11:52:50 +12:00
parent b3575246bd
commit 9814217aee
No known key found for this signature in database
GPG Key ID: 9F1FD9D87950DB6F
4 changed files with 5 additions and 16 deletions

View File

@ -17,22 +17,15 @@ let gid = 0;
class Job {
constructor({ runtime, files, args, stdin, timeouts, main, alias }) {
constructor({ runtime, files, args, stdin, timeouts, alias }) {
this.uuid = uuidv4();
this.runtime = runtime;
this.files = files;
this.args = args;
this.stdin = stdin;
this.timeouts = timeouts;
this.main = main;
this.alias = alias;
let file_list = this.files.map(f => f.name);
if (!file_list.includes(this.main)) {
throw new Error(`Main file "${this.main}" will not be written to disk`);
}
this.uid = config.runner_uid_min + uid;
this.gid = config.runner_gid_min + gid;
@ -171,7 +164,7 @@ class Job {
const run = await this.safe_call(
path.join(this.runtime.pkgdir, 'run'),
[this.main, ...this.args],
[this.files[0].name, ...this.args],
this.timeouts.run
);

View File

@ -1,4 +1,4 @@
// {"language":"python","version":"3.9.1","files":{"code.py":"print('hello world')"},"args":[],"stdin":"","compile_timeout":10, "run_timeout":3, "main": "code.py"}
// {"language":"python","version":"3.9.1","files":{"code.py":"print('hello world')"},"args":[],"stdin":"","compile_timeout":10, "run_timeout":3}
// {"success":true, "run":{"stdout":"hello world", "stderr":"", "error_code":0},"compile":{"stdout":"","stderr":"","error_code":0}}
const { get_latest_runtime_matching_language_version } = require('../runtime');
@ -55,8 +55,7 @@ module.exports = {
timeouts: {
run: req.body.run_timeout,
compile: req.body.compile_timeout
},
main: req.body.main
}
});
await job.prime();

View File

@ -52,7 +52,6 @@ exports.handler = async function(argv){
language: argv.language,
version: argv['language-version'],
files: files,
main: path.basename(argv.file),
args: argv.args,
stdin,
compile_timeout: argv.ct,

View File

@ -194,10 +194,9 @@ Content-Type: application/json
This endpoint requests execution of some arbitrary code.
- `language` (**required**) The language to use for execution, must be a string and must be installed.
- `version` (**required**) The version of the language to use for execution, must be a string containing a SemVer selector for the version or the specific version number to use.
- `files` (**required**) An array of files containing code or other data that should be used for execution.
- `files` (**required**) An array of files containing code or other data that should be used for execution. The first file in this array is considered the main file.
- `files[].name` (**required**) The name of the file to upload, must be a string containing no path.
- `files[].content` (**required**) The content of the files to upload, must be a string containing text to write.
- `main` (**required**) The name of one of the files provided that should be considered the main source file which will be used as the entrypoint, must be a string and be the name of a file in `files`.
- `stdin` (**required**) The text to pass as stdin to the program. Must be a string, can be left blank.
- `args` (**required**) The arguments to pass to the program. Must be an array.
- `compile_timeout` (**required**) The maximum time allowed for the compile stage to finish before bailing out in milliseconds. Must be a number.
@ -213,7 +212,6 @@ This endpoint requests execution of some arbitrary code.
"content": "console.log(process.argv)"
}
],
"main": "my_cool_code.js",
"stdin": "",
"args": [
"1",