summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/relay/modules/samplernn.js10
-rw-r--r--app/relay/remote.js10
-rw-r--r--app/relay/runner.js15
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 }