diff --git a/ajax.php b/ajax.php index b8127cd..f60bcc9 100644 --- a/ajax.php +++ b/ajax.php @@ -99,6 +99,13 @@ switch ($action) { $res = job_status($job); break; + case 'job_predict_req': + $job = new CRObject(); + $job->set('name', cr_get_POST('name')); + $job->set('cmd', cr_get_POST('cmd')); + $res = job_predict_req($job); + break; + case 'summary_get': $res = summary_get(); break; diff --git a/job.logic.php b/job.logic.php index 84b0f78..1b01b44 100644 --- a/job.logic.php +++ b/job.logic.php @@ -147,6 +147,32 @@ function job_status(CRObject $job) return $res; } +function job_predict_req(CRObject $job) +{ + if (!AccessController::hasAccess(Session::get('role', 'visitor'), 'job.list')) { + $res['errno'] = Code::NO_PRIVILEGE; + return $res; + } + + $spider = new Spider(); + $spider->doGet(YAO_SCHEDULER_ADDR . '?action=job_predict_req&name=' . $job->get('name') . '&cmd=' . $job->get('cmd')); + $msg = json_decode($spider->getBody(), true); + + if ($msg['code'] !== 0) { + $res['errno'] = $msg['code']; + $res['msg'] = $msg['error']; + return $res; + } + + $res['cpu'] = $msg['cpu']; + $res['mem'] = $msg['mem']; + $res['gpu'] = $msg['gpu']; + $res['gmem'] = $msg['gmem']; + $res['bw'] = $msg['bw']; + $res['errno'] = Code::SUCCESS; + return $res; +} + function summary_get() { if (!AccessController::hasAccess(Session::get('role', 'visitor'), 'system.summary')) { diff --git a/static/job.js b/static/job.js index 7bb98c6..10654e4 100755 --- a/static/job.js +++ b/static/job.js @@ -56,6 +56,8 @@ function register_events_job() { $('#form-job-tasks').find('.row').each(function () { $(this).find('.task-cpu').eq(0).val(4); + $(this).find('.task-mem').eq(0).val(8192); + $(this).find('.task-gpu-mem').eq(0).val(8192); }); } });