6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/trueandco_analytics/site/workers/user_session_metric_worker.rb', line 6
def perform(*args)
info_pages, info_request = args[0], args[1]
@redis = ::TrueandcoAnalytics::RedisConnect.get
user_session_data_json = @redis.lrange(info_pages, 0, -1)
return if user_session_data_json.nil?
user_session_data = ArrJsonsToArrHash.new(user_session_data_json).execute
return unless user_session_data.any?
first_point = user_session_data[0]
last_point = user_session_data[-1]
metric_user = UserC::CreateOrUpdateUserIfExist.new(info_request, last_point['time']['timestamp']).execute
session = SessionC::Create.new(metric_user, first_point, last_point['time']['timestamp'], info_request).execute
MetricC::AddList.new(metric_user, session, user_session_data).execute
end
|