diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-05-28 10:18:25 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-05-28 10:18:25 +0200 |
| commit | 3a8d99c5e4f64a9426585943c40635eb183b47ae (patch) | |
| tree | d09bc57d59ec0ff7a6def8af49634c4aab64e493 /app | |
| parent | ed80103ff0c4b87d2726da5ceab8ec566b46e0ee (diff) | |
start/stop tasks
Diffstat (limited to 'app')
| -rw-r--r-- | app/client/common/header.component.js | 3 | ||||
| -rw-r--r-- | app/client/socket/socket.live.js | 2 | ||||
| -rw-r--r-- | app/client/socket/socket.task.js | 10 | ||||
| -rw-r--r-- | app/client/system/system.component.js | 6 | ||||
| -rw-r--r-- | app/client/system/system.reducer.js | 7 | ||||
| -rw-r--r-- | app/client/types.js | 7 | ||||
| -rw-r--r-- | app/relay/modules/test.js | 1 | ||||
| -rw-r--r-- | app/relay/remote.js | 8 | ||||
| -rw-r--r-- | app/relay/runner.js | 3 |
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) }) } |
