- 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 |