public void handleAction(String jsonStr, MTMeanMetric rMetric) throws ParseException {
    try {
      JSONObject jsonObj = new JSONObject(jsonStr);

      if (!"getRecommendByDeal".equals(jsonObj.getString("action"))) {
        return;
      }

      JSONObject result = new JSONObject();
      String gid = "app_dataapp_gid_" + jsonObj.getString("gid");
      for (String colname : colnames) {
        result.put(colname, jsonObj.get(colname));
      }

      // 更新监控时间
      String createTime = jsonObj.getString("createTime");
      String currentTime = Utils.getCurrentTime("yyyy-MM-dd HH:mm:ss");
      SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date beginDate = sd.parse(createTime);
      Date endDate = sd.parse(currentTime);
      long time = (endDate.getTime() - beginDate.getTime()) / 1000;
      rMetric.update(time);

      result.put("currentTime", currentTime);
      jedisCluster.setex(gid, 3600, result.toString());

      // logger.info(result.toString());
    } catch (JSONException e) {
      return;
    }
  }