AbstractSensor.php 1.06 KiB
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
namespace App;
/**
* Description of AbstractSensor
*
* @author tibo
*/
abstract class AbstractSensor implements Sensor {
/**
*
* @var \App\Server
*/
private $server;
public function __construct(\App\Server $server) {
$this->server = $server;
}
protected function getServer() {
return $this->server;
}
function getLastRecord($field) {
return \Mongo::get()->monitoring->records->findOne(
[ "server_id" => $this->server->id,
$field => ['$ne' => null]],
["sort" => ["_id" => -1]]);
}
function getLastRecords($field, $count) {
return \Mongo::get()->monitoring->records->find(
[ "server_id" => $this->server->id,
$field => ['$ne' => null]],
["limit" => $count, "sort" => ["_id" => -1]]);
}
}