%PDF- %PDF-
| Direktori : /home/infra/fusioninventory/scripts/ |
| Current File : //home/infra/fusioninventory/scripts/get_agent_jobs.php |
#!/usr/bin/php
<?php
$doc = <<<DOC
get_agent_jobs.php
Usage:
get_agent_jobs.php [-h | -q | -d ] [--methods=methods] [<device_ids>...]
-h, --help show this help
-q, --quiet run quietly
-d, --debug display more execution messages
device_ids the agent's device_ids registered in GLPI
DOC;
chdir(dirname($_SERVER["SCRIPT_FILENAME"]));
include ("../../../inc/includes.php");
include ("./docopt.php");
require ("./logging.php");
/**
* Process arguments passed to the script
*/
$docopt = new \Docopt\Handler();
$args = $docopt->handle($doc);
$logger = new Logging();
$logger->setLevelFromArgs($args['--quiet'], $args['--debug']);
$logger->debug($args);
$agent = new PluginFusioninventoryAgent();
$computer = new Computer();
$task = new PluginFusioninventoryTask();
$staticmisc_methods = PluginFusioninventoryStaticmisc::getmethods();
$methods = [];
foreach ($staticmisc_methods as $method) {
$methods[$method['method']] = $method['method'];
}
$device_ids = [];
if (count($args['<device_ids>']) == 0) {
$agents = array_values($agent->find());
$randid = rand(0, count($agents));
$device_ids = [$agents[$randid]['device_id']];
} else {
$device_ids = $args['<device_ids>'];
}
//$logger->debug($device_ids);
foreach ($device_ids as $device_id) {
$logger->info("Get prepared jobs for Agent '$device_id'");
// $jobstates = $task->getTaskjobstatesForAgent($device_id, $methods, array('read_only'=>true));
// $jobstates = $task->getTaskjobstatesForAgent($device_id, $methods);
$time = microtime(true);
file_get_contents("http://glpi.kroy-laptop.sandbox/glpi/plugins/fusioninventory/b/deploy/?action=getJobs&machineid=".$device_id);
$time = microtime(true) - $time;
$logger->info("Get prepared jobs for Agent '$device_id' : $time s");
}