mirror of https://github.com/MISP/MISP
fix: [API] Simple worker management added
- /servers/startWorker/[queue] - /servers/stopWorker/[pid] - /servers/getWorkerspull/4788/head
parent
9975e9e437
commit
c06aa1fd79
|
@ -343,6 +343,7 @@ class ACLComponent extends Component
|
|||
'getPyMISPVersion' => array('*'),
|
||||
'getSubmodulesStatus' => array('perm_site_admin'),
|
||||
'getSubmoduleQuickUpdateForm' => array('perm_site_admin'),
|
||||
'getWorkers' => array(),
|
||||
'getVersion' => array('*'),
|
||||
'import' => ('perm_site_admin'),
|
||||
'index' => array('OR' => array('perm_sync', 'perm_admin')),
|
||||
|
|
|
@ -1103,7 +1103,13 @@ class ServersController extends AppController
|
|||
} else {
|
||||
shell_exec($prepend . APP . 'Console' . DS . 'cake CakeResque.CakeResque startscheduler -i 5 > /dev/null 2>&1 &');
|
||||
}
|
||||
$this->redirect('/servers/serverSettings/workers');
|
||||
$message = __('Worker start signal sent');
|
||||
if ($this->_isRest()) {
|
||||
return $this->RestResponse->saveSuccessResponse('Servers', 'startWorker', $type, $this->response->type(), $message);
|
||||
} else {
|
||||
$this->Flash->info($message);
|
||||
$this->redirect('/servers/serverSettings/workers');
|
||||
}
|
||||
}
|
||||
|
||||
public function stopWorker($pid)
|
||||
|
@ -1112,7 +1118,20 @@ class ServersController extends AppController
|
|||
throw new MethodNotAllowedException();
|
||||
}
|
||||
$this->Server->killWorker($pid, $this->Auth->user());
|
||||
$this->redirect('/servers/serverSettings/workers');
|
||||
$message = __('Worker stop signal sent');
|
||||
if ($this->_isRest()) {
|
||||
return $this->RestResponse->saveSuccessResponse('Servers', 'stopWorker', $pid, $this->response->type(), $message);
|
||||
} else {
|
||||
$this->Flash->info($message);
|
||||
$this->redirect('/servers/serverSettings/workers');
|
||||
}
|
||||
}
|
||||
|
||||
public function getWorkers()
|
||||
{
|
||||
$issues = 0;
|
||||
$worker_array = $this->Server->workerDiagnostics($issues);
|
||||
return $this->RestResponse->viewData($worker_array);
|
||||
}
|
||||
|
||||
private function __checkVersion()
|
||||
|
|
|
@ -329,6 +329,17 @@
|
|||
echo sprintf('<h3>%s</h3>', $data['title']);
|
||||
echo sprintf('<p>%s</p>', implode(" ", $data['description']));
|
||||
echo sprintf("<pre>%s</pre>", implode("\n", $data['url']));
|
||||
$data = array(
|
||||
'title' => __('Administering the background workers via the API.'),
|
||||
'description' => array(
|
||||
__('You can start/stop and view the bacground workers via the API.'),
|
||||
sprintf('<br /><span class="bold">%s</span>: <code>%s/servers/%s</code><br />', __('Add worker'), $baseurl, 'startWorker/[queue_name]'),
|
||||
sprintf('<span class="bold">%s</span>: <code>%s/servers/%s</code><br />', __('Stop worker'), $baseurl, 'stopWorker/[worker_pid]'),
|
||||
sprintf('<span class="bold">%s</span>: <code>%s/servers/%s</code><br />', __('Get worker info'), $baseurl, 'getWorkers')
|
||||
)
|
||||
);
|
||||
echo sprintf('<h3>%s</h3>', $data['title']);
|
||||
echo sprintf('<p>%s</p>', implode(" ", $data['description']));
|
||||
foreach ($command_line_functions as $clusterRef => $cluster) {
|
||||
echo sprintf('<a id="%s"></a><h3>%s</h3>', $clusterRef, $cluster['header']);
|
||||
echo sprintf('<p>%s:<br />', $cluster['description']);
|
||||
|
|
Loading…
Reference in New Issue