diff options
| -rw-r--r-- | app/relay/modules/samplernn.js | 10 | ||||
| -rw-r--r-- | app/relay/remote.js | 10 | ||||
| -rw-r--r-- | app/relay/runner.js | 15 |
3 files changed, 33 insertions, 2 deletions
diff --git a/app/relay/modules/samplernn.js b/app/relay/modules/samplernn.js index 01a3b82..08550ed 100644 --- a/app/relay/modules/samplernn.js +++ b/app/relay/modules/samplernn.js @@ -25,6 +25,12 @@ const train = { // --keep_old_checkpoints False \ // --epoch_limit $epoch_limit \ } +const report = { + type: 'perl', + script: 'latest.pl', + params: ['-v'], + isScript: true, +} const generate = { type: 'pytorch', script: 'generate.py', @@ -50,6 +56,6 @@ const publish = { export default { name, cwd, activities: { - fetch, train, generate, - } + fetch, train, generate, report, + }, } diff --git a/app/relay/remote.js b/app/relay/remote.js index bebb940..60c0b06 100644 --- a/app/relay/remote.js +++ b/app/relay/remote.js @@ -104,6 +104,16 @@ remote.on('system', (data) => { runner: runner.status(), }) break + case 'run_script': + runner.run_script(data.payload, (files) => { + remote.emit('system_res', { + type: 'run_script', + cmd: data.payload, + uuid: data.uuid, + error, stdout, stderr + }) + }) + break default: remote.emit('system_res', { type: 'error', diff --git a/app/relay/runner.js b/app/relay/runner.js index 78ac4b1..63cae69 100644 --- a/app/relay/runner.js +++ b/app/relay/runner.js @@ -137,6 +137,21 @@ export function list_directory(opt, cb) { }) } +export function run_script(task, cb) { + if (!task.module || ! modules[task.module]) { + cb("") + } + const module = modules[task.module] + const { activity, interpreter, params } = build_params(module, task) + if (! interpreter) return { type: 'error', error: "No such interpreter: " + activity.interpreter } + if (! activity.isScript) return { type: 'error', error: "Not a script: " + task.module } + + console.log('running task', task.activity) + console.log(module.cwd) + console.log(interpreter.cmd, params) + execFile(interpreter.cmd, [params], cb) +} + export function run_task(task, preempt, watch){ const module = modules[task.module] if (! module) return { type: 'error', error: "No such module: " + task.module } |
