diff --git a/rowers/dataprep.py b/rowers/dataprep.py index c10e22f2..77814a72 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -28,7 +28,8 @@ from rowingdata import ( from rowers.tasks import ( handle_sendemail_unrecognized,handle_setcp, - handle_getagegrouprecords, handle_update_wps + handle_getagegrouprecords, handle_update_wps, + handle_request_post ) from rowers.tasks import handle_zip_file @@ -76,6 +77,7 @@ allowedcolumns = [key for key,value in strokedatafields.items()] #from async_messages import messages as a_messages import os import zipfile +from zipfile import BadZipFile import pandas as pd import numpy as np import itertools @@ -2119,7 +2121,11 @@ def new_workout_from_file(r, f2, uploadoptions['file'] = datafile url = settings.UPLOAD_SERVICE_URL - response = requests.post(url,uploadoptions) + job = myqueue(queuehigh, + handle_request_post, + url, + uploadoptions + ) except BadZipFile: # pragma: no cover pass diff --git a/rowers/polarstuff.py b/rowers/polarstuff.py index edaaf318..90e5725c 100644 --- a/rowers/polarstuff.py +++ b/rowers/polarstuff.py @@ -38,6 +38,7 @@ from django.contrib.auth.decorators import login_required from rowingdata import rowingdata import pandas as pd from rowers.models import Rower,Workout +from rowers.tasks import handle_request_post import rowers.dataprep as dataprep from rowers.dataprep import columndict @@ -237,10 +238,16 @@ def get_polar_workouts(user): 'file':filename, } url = reverse('workout_upload_api') - response = requests.post(url,json_data) - if response.status_code == 200: - exercise_dict['filename'] = filename + + job = myqueue(queuehigh, + handle_request_post, + url, + json_data + ) + + + exercise_dict['filename'] = filename else: exercise_dict['filename'] = '' diff --git a/rowers/tasks.py b/rowers/tasks.py index a07a41a0..d3a345dc 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -284,6 +284,12 @@ def summaryfromsplitdata(splitdata,data,filename,sep='|',workouttype='rower'): return sums,sa,results +@app.task +def handle_request_post(url, data,debug=False, **kwargs): + response = requests.post(url,data) + return response.status_code + + @app.task def add(x, y): # pragma: no cover return x + y diff --git a/rowers/views/statements.py b/rowers/views/statements.py index 28d5da9d..e3a90787 100644 --- a/rowers/views/statements.py +++ b/rowers/views/statements.py @@ -203,6 +203,7 @@ from rowers.plannedsessions import * from rowers.tasks import handle_makeplot,handle_otwsetpower,handle_sendemailtcx,handle_sendemailcsv from rowers.tasks import ( handle_sendemail_unrecognized,handle_sendemailnewcomment, + handle_request_post, handle_sendemailsummary, handle_rp3_async_workout, handle_send_template_email, diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index ecdf9498..d0e34fe4 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -5435,7 +5435,7 @@ def workout_upload_view(request, title = t, notes=notes, ) - else: + else: uploadoptions['secret'] = settings.UPLOAD_SERVICE_SECRET uploadoptions['user'] = r.user.id uploadoptions['title'] = t @@ -5443,7 +5443,11 @@ def workout_upload_view(request, url = settings.UPLOAD_SERVICE_URL - response = requests.post(url,uploadoptions) + job = myqueue(queuehigh, + handle_request_post, + url, + uploadoptions + ) messages.info( request,