summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-05-28 10:18:25 +0200
committerJules Laplace <julescarbon@gmail.com>2018-05-28 10:18:25 +0200
commit3a8d99c5e4f64a9426585943c40635eb183b47ae (patch)
treed09bc57d59ec0ff7a6def8af49634c4aab64e493 /app
parented80103ff0c4b87d2726da5ceab8ec566b46e0ee (diff)
start/stop tasks
Diffstat (limited to 'app')
-rw-r--r--app/client/common/header.component.js3
-rw-r--r--app/client/socket/socket.live.js2
-rw-r--r--app/client/socket/socket.task.js10
-rw-r--r--app/client/system/system.component.js6
-rw-r--r--app/client/system/system.reducer.js7
-rw-r--r--app/client/types.js7
-rw-r--r--app/relay/modules/test.js1
-rw-r--r--app/relay/remote.js8
-rw-r--r--app/relay/runner.js3
9 files changed, 25 insertions, 22 deletions
diff --git a/app/client/common/header.component.js b/app/client/common/header.component.js
index 1e27856..29c3713 100644
--- a/app/client/common/header.component.js
+++ b/app/client/common/header.component.js
@@ -14,11 +14,12 @@ function Header(props) {
{tools}
</select>
</span>
+ <span><Link to="/system">system</Link></span>
<span><Link to="/dashboard">dashboard</Link></span>
<span>checkpoints</span>
<span>datasets</span>
<span>results</span>
- <span>live</span>
+ <span><Link to="/live">live</Link></span>
<span>{props.fps} fps</span>
</header>
)
diff --git a/app/client/socket/socket.live.js b/app/client/socket/socket.live.js
index 867b391..56fd279 100644
--- a/app/client/socket/socket.live.js
+++ b/app/client/socket/socket.live.js
@@ -5,7 +5,7 @@ import * as player from '../live/player'
import { socket } from './socket.connection'
socket.on('res', (data) => {
- console.log(data.cmd)
+ console.log('socket:', data.cmd)
switch (data.cmd) {
case 'get_last_frame':
if (data.res !== 'working') {
diff --git a/app/client/socket/socket.task.js b/app/client/socket/socket.task.js
index ba074c0..595066e 100644
--- a/app/client/socket/socket.task.js
+++ b/app/client/socket/socket.task.js
@@ -11,14 +11,14 @@ socket.on('task_res', (data) => {
case 'start':
// return dispatch({ type: types.system.rpc_connected, runner: data.runner })
break
- case 'task_begin':
- clearTimeout(finishTimeout)
- return dispatch({ type: types.task.task_begin, task: data.task })
- break
case 'stop':
break
+ // begin and finish calls often arrive out of order, if the old task was preempted
+ case 'task_begin':
+ dispatch({ type: types.task.task_begin, task: data.task })
+ break
case 'task_finish':
- return finishTimeout = setTimeout(() => dispatch({ type: types.task.task_finish, task: data.task }), 100)
+ dispatch({ type: types.task.task_finish, task: data.task })
break
case 'kill':
break
diff --git a/app/client/system/system.component.js b/app/client/system/system.component.js
index 2b09f38..b257573 100644
--- a/app/client/system/system.component.js
+++ b/app/client/system/system.component.js
@@ -79,15 +79,15 @@ class System extends Component {
<Group title="Test">
<Param title='CPU Test Task'>
<button onClick={() => actions.task.start_task(cpu_test_task, { preempt: true, watch: true })}>Start</button>
- <button onClick={() => actions.task.stop_task(runner.cpu)}>Stop</button>
+ <button onClick={() => actions.task.stop_task(runner.cpu.task)}>Stop</button>
</Param>
<Param title='GPU Test Task'>
<button onClick={() => actions.task.start_task(gpu_test_task, { preempt: true, watch: true })}>Start</button>
- <button onClick={() => actions.task.stop_task(runner.gpu)}>Stop</button>
+ <button onClick={() => actions.task.stop_task(runner.gpu.task)}>Stop</button>
</Param>
<Param title='Live Test Task'>
<button onClick={() => actions.task.start_task(live_test_task, { preempt: true, watch: true })}>Start</button>
- <button onClick={() => actions.task.stop_task(runner.cpu)}>Stop</button>
+ <button onClick={() => actions.task.stop_task(runner.cpu.task)}>Stop</button>
</Param>
<Param title='Test Live RPC'>
<button onClick={() => actions.live.get_params()}>Get</button>
diff --git a/app/client/system/system.reducer.js b/app/client/system/system.reducer.js
index c29572e..f945a65 100644
--- a/app/client/system/system.reducer.js
+++ b/app/client/system/system.reducer.js
@@ -21,7 +21,7 @@ const systemInitialState = {
},
rpc: {
connected: false,
- status: "unknown",
+ status: "disconnected",
error: null,
},
cmd: {
@@ -169,6 +169,11 @@ const systemReducer = (state = systemInitialState, action) => {
}
return {
...state,
+ rpc: {
+ connected: false,
+ status: "disconnected",
+ error: null,
+ },
runner: {
...state.runner,
[action.task.processor]: { status: 'IDLE', task: {} },
diff --git a/app/client/types.js b/app/client/types.js
index 97a93c9..df5da72 100644
--- a/app/client/types.js
+++ b/app/client/types.js
@@ -25,9 +25,10 @@ export default {
disconnect: 'SOCKET_DISCONNECT',
error: 'SOCKET_ERROR',
- load_params: 'LOAD_PARAMS',
- list_sequences: 'LIST_SEQUENCES',
- list_epochs: 'LIST_EPOCHS',
+ load_params: 'SOCKET_LOAD_PARAMS',
+ list_checkpoints: 'SOCKET_LIST_CHECKPOINTS',
+ list_sequences: 'SOCKET_LIST_SEQUENCES',
+ list_epochs: 'SOCKET_LIST_EPOCHS',
},
player: {
get_params: 'GET_PARAMS',
diff --git a/app/relay/modules/test.js b/app/relay/modules/test.js
index 1d7042e..b0753f8 100644
--- a/app/relay/modules/test.js
+++ b/app/relay/modules/test.js
@@ -16,6 +16,7 @@ const gpu = {
const live = {
type: 'python',
script: 'test.py',
+ live: true,
}
export default {
diff --git a/app/relay/remote.js b/app/relay/remote.js
index c66929a..ff2d32b 100644
--- a/app/relay/remote.js
+++ b/app/relay/remote.js
@@ -5,7 +5,6 @@ const runner = require('./runner')
export const remote = io.connect(process.env.SOCKETIO_REMOTE)
remote.on('cmd', (data) => {
- console.log('cmd data', data)
if (! data.cmd) return console.log('malformed param...?')
console.log('got', data.cmd)
switch (data.cmd) {
@@ -60,13 +59,6 @@ remote.on('task', (data) => {
break
case 'set_priority':
break
- // case 'get_status':
- // remote.emit('task_res', {
- // type: 'relay_status',
- // rpc_connected: rpc_connected,
- // runner: runner.status(),
- // })
- // break
default:
response = { type: 'error', error: 'unknown task command' }
break
diff --git a/app/relay/runner.js b/app/relay/runner.js
index ff32e81..906ddbf 100644
--- a/app/relay/runner.js
+++ b/app/relay/runner.js
@@ -3,6 +3,7 @@ import interpreters from './interpreters'
import modules from './modules'
import kill from 'tree-kill'
import { remote } from './remote'
+import { set_connected } from './rpc'
import uuidv1 from 'uuid/v1'
const idle_state = { status: 'IDLE', task: {} }
@@ -171,6 +172,7 @@ export function run_task(task, preempt, watch){
console.log('task error', subprocess.exitCode, err)
clear_task(interpreter.gpu, task)
remote.emit('task_res', { type: 'task_error', task, err })
+ set_connected(false)
})
subprocess.on('close', () => {
@@ -179,6 +181,7 @@ export function run_task(task, preempt, watch){
console.log('task ended', subprocess.exitCode || '')
clear_task(interpreter.gpu, task)
remote.emit('task_res', { type: 'task_finish', task })
+ set_connected(false)
})
}