Example #1
0
 public function update_data($feedid, $updatetime, $feedtime, $value)
 {
     $feedid = (int) $feedid;
     if (!$this->exist($feedid)) {
         return array('success' => false, 'message' => 'Feed does not exist');
     }
     if ($feedtime == null) {
         $feedtime = time();
     }
     $updatetime = intval($updatetime);
     $feedtime = intval($feedtime);
     $value = floatval($value);
     $engine = $this->get_engine($feedid);
     // Call to engine update method
     $value = $this->engine[$engine]->update($feedid, $feedtime, $value);
     // need to find a way to not update if value being updated is older than the last value
     // in the database, redis lastvalue is last update time rather than last datapoint time.
     // So maybe we need to store both in redis.
     $this->set_timevalue($feedid, $value, $updatetime);
     //Check feed event if event module is installed
     if (is_dir(realpath(dirname(__FILE__)) . '/../event/')) {
         require_once realpath(dirname(__FILE__)) . '/../event/event_model.php';
         $event = new Event($this->mysqli, $this->redis);
         $event->check_feed_event($feedid, $updatetime, $feedtime, $value);
     }
     return $value;
 }
Example #2
0
 public function update_data($feedid, $updatetime, $feedtime, $value)
 {
     $feedid = (int) $feedid;
     if (!$this->exist($feedid)) {
         return array('success' => false, 'message' => 'Feed does not exist');
     }
     $updatetime = intval($updatetime);
     if ($feedtime == null) {
         $feedtime = $updatetime;
     }
     $feedtime = intval($feedtime);
     $value = floatval($value);
     $engine = $this->get_engine($feedid);
     if ($this->settings['redisbuffer']['enabled']) {
         // Call to buffer update
         $args = array('engine' => $engine, 'updatetime' => $updatetime);
         $this->EngineClass(Engine::REDISBUFFER)->update($feedid, $feedtime, $value, $args);
     } else {
         // Call to engine update
         $this->EngineClass($engine)->update($feedid, $feedtime, $value);
     }
     $this->set_timevalue($feedid, $value, $updatetime);
     //Check feed event if event module is installed
     if (is_dir(realpath(dirname(__FILE__)) . '/../event/')) {
         require_once realpath(dirname(__FILE__)) . '/../event/event_model.php';
         $event = new Event($this->mysqli, $this->redis);
         $event->check_feed_event($feedid, $updatetime, $feedtime, $value);
     }
     return $value;
 }