Lewati ke konten utama

Jobs

Inventory cross-bot semua running script + bulk control. Berguna buat dashboard yang track "apa yang lagi jalan di mana" tanpa polling tiap bot satu-satu.

MethodPathQuery
GET/api/jobs
GET/api/jobs/by_client?client_id
POST/api/jobs/stop_all

GET /api/jobs

List semua script yang lagi jalan lintas semua bot.

Response (200):

{
"jobs": [
{
"client_id": "bot-1",
"script_id": "auto-mine",
"running": true,
"started_at": 1778205616123,
"last_error": null
},
{
"client_id": "bot-2",
"script_id": "auto-fish",
"running": true,
"started_at": 1778205700000,
"last_error": null
},
{
"client_id": "bot-3",
"script_id": "auto-quest",
"running": false,
"started_at": 1778205820000,
"last_error": "executor:88: tile (40,18) not breakable"
}
]
}

started_at itu unix-ms pas script pertama compile + start; running:false artinya script udah exit (clean atau error) dan belum di-clear — tetep di list jadi dashboard bisa baca last_error final-nya.

GET /api/jobs/by_client

Filter shape yang sama ke satu bot.

Query: ?client_id=bot-1

Response (200):

{
"jobs": [
{
"client_id": "bot-1",
"script_id": "auto-mine",
"running": true,
"started_at": 1778205616123,
"last_error": null
}
]
}

POST /api/jobs/stop_all

Cancel setiap job yang lagi jalan lintas setiap bot.

Response (200):

{ "stopped": 5 }

stopped itu jumlah job yang lagi jalan pas call dipanggil. Setiap job yang di-stop lewat path cancellation yang sama dengan handler /api/scripts/stop — graceful, blok cleanup() script (kalo ada) jalan dulu sebelum runtime dispose VM-nya.