some tweaks to make middleware working
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
from django.utils import timezone
|
||||
from rowers.models import Workout, PowerTimeFitnessMetric, Rower
|
||||
import datetime
|
||||
from utils import myqueue
|
||||
import django_rq
|
||||
queue = django_rq.get_queue('default')
|
||||
from rowers.tasks import handle_updatefitnessmetric
|
||||
|
||||
def getrower(user):
|
||||
try:
|
||||
@@ -23,10 +27,11 @@ def do_update(user,mode='rower',days=42):
|
||||
workoutmode=mode)
|
||||
|
||||
if len(ms) == 0:
|
||||
return 0
|
||||
|
||||
max_workout_id = max([m.last_workout for m in ms])
|
||||
last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms])
|
||||
max_workout_id = 0
|
||||
last_update_date = '1972-01-01'
|
||||
else:
|
||||
max_workout_id = max([m.last_workout for m in ms])
|
||||
last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms])
|
||||
|
||||
if mode == 'rower':
|
||||
workouts = Workout.objects.filter(
|
||||
@@ -40,14 +45,18 @@ def do_update(user,mode='rower',days=42):
|
||||
startdatetime__gte=startdate)
|
||||
|
||||
theids = [int(w.id) for w in workouts]
|
||||
max_id = max(theids)
|
||||
try:
|
||||
max_id = max(theids)
|
||||
except ValueError:
|
||||
max_id = 0
|
||||
|
||||
if last_update_date < now_date and max_workout_id < max_id:
|
||||
job = myqueue(queue,
|
||||
handle_updatefitnessmetric,
|
||||
request.user.id,mode,theids,
|
||||
user.id,mode,theids,
|
||||
)
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
class PowerTimeFitnessMetricMiddleWare(object):
|
||||
|
||||
Reference in New Issue
Block a user