public static function set($report_id, $handler, $array, $use_handler_key = null) { $data = new HeartbeatReportData(); $data->report_id = $report_id; $data->handler = $handler; if (!$use_handler_key) { $data->keys = self::formatValue(array_keys($array), true); } else { $data->keys = self::OTHER_KEYS . $use_handler_key; } $data->value = self::formatValue($array, true); if ($data->validate()) { return $data->save(); } return false; }
/** * push data in db * @param $report_id * @return bool flag */ public function push($report_id) { // use array key from other $use_key = array('db_tables_rows' => 'db_tables_size', 'db_long_tables_rows' => 'db_long_tables_size', 'stations_logger' => 'stations', 'stations_communication_type' => 'stations', 'stations_message_interval' => 'stations', 'stations_message_count' => 'stations', 'stations_message_expected' => 'stations', 'stations_message_error' => 'stations', 'stations_message_is_processing' => 'stations', 'stations_message_last' => 'stations', 'stations_sensor_bv' => 'stations', 'stations_schedule_synop' => 'stations', 'stations_schedule_bufr' => 'stations', 'stations_schedule_speci' => 'stations', 'stations_schedule_metar' => 'stations', 'stations_schedule_data_export' => 'stations'); //miss_key $miss_key = array('db_small_stat', 'db_long_small_stat'); $flag = true; try { foreach ($this as $var => $val) { if (!is_null($val) && !in_array($var, $miss_key)) { $flag = $flag && HeartbeatReportData::set($report_id, $var, $val, $use_key[$var]); } } } catch (Exception $e) { return false; } return $flag; }