@@ -117,17 +117,20 @@ def record_hourly_activity():
117
117
cursor .execute ("""
118
118
INSERT INTO HourlyActivity(datetime, activity_hours)
119
119
WITH startOfHour AS (
120
- SELECT UTC_TIMESTAMP - INTERVAL second(UTC_TIMESTAMP) SECOND - INTERVAL minute(UTC_TIMESTAMP) MINUTE AS stamp
120
+ SELECT DATE_TRUNC('hour', NOW()) - INTERVAL '6' HOUR AS stamp
121
+ ),
122
+ activityHours AS (
123
+ SELECT
124
+ CAST(COALESCE(SUM(
125
+ EXTRACT(EPOCH FROM AGE(
126
+ COALESCE(endTime, NOW()),
127
+ CASE WHEN startOfHour.stamp > startTime THEN startOfHour.stamp ELSE startTime END
128
+ ))
129
+ ), 0) AS FLOAT) / 3600 AS activity_hours
130
+ FROM TSUserActivity, startOfHour
131
+ WHERE endTime IS NULL OR endTime > startOfHour.stamp
121
132
)
122
- SELECT startOfHour.stamp AS datetime,
123
- CAST(COALESCE(SUM(
124
- TIMESTAMPDIFF(SECOND,
125
- IF(startOfHour.stamp > startTime, startOfHour.stamp, startTime),
126
- COALESCE(endTime, UTC_TIMESTAMP)
127
- )
128
- ), 0) AS FLOAT) / 3600 AS activity_hours
129
- FROM TSUserActivity, startOfHour
130
- WHERE endTime IS NULL
131
- OR endTime > startOfHour.stamp;
133
+ SELECT startOfHour.stamp, activityHours.activity_hours
134
+ FROM startOfHour, activityHours;
132
135
""" )
133
136
print ("Done collecting activity" )
0 commit comments