class Analytics::FetchMainGatherData
Fetch main visitor data
Public Class Methods
new(site_id)
click to toggle source
# File lib/analytics.rb, line 79 def initialize(site_id) @site_id = site_id @client = Analytics.client @stmt = Analytics.stmt end
Public Instance Methods
gatherDayVisitor()
click to toggle source
gather visitor day data
# File lib/analytics.rb, line 85 def gatherDayVisitor now,yesterday_start,yesterday_end = Util.day_query_time pv = @client.query("select count(id) from visitors where site_id=#{@site_id} and created_at > #{yesterday_start} and created_at < #{yesterday_end}").fetch_row[0] ipv = @client.query("select count(distinct ip_id) from visitors where site_id=#{@site_id} and created_at > #{yesterday_start} and created_at < #{yesterday_end}").fetch_row[0] r = @client.query("select count(id) from site_day_gather where site_id=#{@site_id} and day_time=#{yesterday_start}").fetch_row[0].to_i if(r == 0) @stmt.prepare("insert into site_day_gather(site_id,pv,ipv,day_time,created_at) "+ " values(?,?,?,?,?)" ) @stmt.execute(@site_id,pv,ipv,yesterday_start,now) else @stmt.prepare("update site_day_gather set pv=?,ipv=?,created_at=? where site_id=? and day_time=?") @stmt.execute(pv,ipv,now,@site_id,yesterday_start) end end
gatherDicDayVisitor(gather_table,col)
click to toggle source
gather dictionary day visitor data
# File lib/analytics.rb, line 116 def gatherDicDayVisitor gather_table,col #get query timestamp now,yesterday_start,yesterday_end = Util.day_query_time @client.query("select count(id),#{col} from visitors where site_id=#{@site_id} and created_at > #{yesterday_start} and created_at < #{yesterday_end} group by #{col}").each{|row| r = @client.query("select count(id) from #{gather_table} where site_id=#{@site_id} and day_time=#{yesterday_start} and #{col}=#{row[1]}").fetch_row[0].to_i if(r == 0 ) @stmt.prepare("insert into #{gather_table}(site_id,pv,day_time,created_at,#{col}) "+ " values(?,?,?,?,?)" ) @stmt.execute(@site_id,row[0],yesterday_start,now,row[1]) else @stmt.prepare("update #{gather_table} set pv=?,created_at=? where site_id=? and day_time=? and #{col}=?") @stmt.execute(row[0],now,@site_id,yesterday_start,row[1]) end } end
gatherHourVisitor()
click to toggle source
gather visitor hour data
# File lib/analytics.rb, line 100 def gatherHourVisitor now,last_hour_start,last_hour_end = Util.hour_query_time pv = @client.query("select count(id) from visitors where site_id=#{@site_id} and created_at >= #{last_hour_start} and created_at <= #{last_hour_end}").fetch_row[0] ipv = @client.query("select count(distinct ip_id) from visitors where site_id=#{@site_id} and created_at >= #{last_hour_start} and created_at <= #{last_hour_end}").fetch_row[0] r = @client.query("select count(id) from site_hour_gather where site_id=#{@site_id} and hour_time=#{last_hour_start}").fetch_row[0].to_i if(r == 0) @stmt.prepare("insert into site_hour_gather(site_id,pv,ipv,hour_time,created_at) "+ " values(?,?,?,?,?)" ) @stmt.execute(@site_id,pv,ipv,last_hour_start,now) else @stmt.prepare("update site_hour_gather set pv=?,ipv=?,created_at=? where site_id=? and hour_time=?") @stmt.execute(pv,ipv,now,@site_id,last_hour_start) end end