- jQueryがEchoにRequest
- Echoが開いてるIDを探しIDをRedixに保存
- EchoがDockerコンテナを作成しコンテナIDをRedixに保存
- EchoがIDでWS通信をデキるようにしてjQueryにレスポンス
- jQueryがコードを送信
- EchoがIDに紐付いてるDokcerコンテナでコードを実行
- Echoがjqueryに返却
サーバーとの接続確認に使う
{
"status": 200,
"message": "OK"
}| Key | Model | Value |
|---|---|---|
| status | integer | http status code |
| message | string | サーバーからの歓迎の言葉 |
WebSocet用のコネクションURLを要求及び発行
| lang | short |
|---|---|
| Ruby | rb |
| Java | java |
| Clang | c |
| Python | py |
{
"url": "ws://localhost:1234/api/v1/execution_environment/ce16824e6180167ef65b1803c6b21b5d",
"container_id": "ce16824e6180167ef65b1803c6b21b5d",
"result": "99f7f325eea9e42d7c494e6fc9a69e778b5a071dbba5504ebc6072147a8a9323 "
}| Key | Model | Value |
|---|---|---|
| url | string | WS通信用のURL |
| container_id | string | 作成されたDockerContainerのName |
| result | string | 作成されたDockerContainerのUuid |
WebSocketでDokcerContainer内を操作
{
"container_id": "11aa1d97274d794a90fe10c32ba828de",
"command": "ls",
}| Key | Model | Value |
|---|---|---|
| container_id | string | DockerContainerのName |
| command | string | 実行したいコマンド |
{
"container_id": "11aa1d97274d794a90fe10c32ba828de",
"command": "ls",
"result":"bin/nboot\ndev\netc\nhome\nlib\nlib64\nmedia\nmnt\nopt\nproc\nroot\nrun\nsbin\nsrv\nsys\ntmp\nusr\nvar",
"exit_status": 0,
}| Key | Model | Value |
|---|---|---|
| container_id | string | DockerContainerのName |
| command | string | 実行したコマンド |
| result | string | 実行結果 |
| exit_status | int | 終了時のExitStatus |

