from celery import Celery import os import rowingdata from rowingdata import main as rmain from rowingdata import rowingdata as rdata import rowingdata from matplotlib.backends.backend_agg import FigureCanvasAgg import matplotlib.pyplot as plt from rowers.models import Rower, User app = Celery('tasks', broker='redis://localhost', backend='redis://localhost',) # Using a string here means the worker will not have to # pickle the object when using Windows. #app.config_from_object('django.conf:settings') @app.task def add(x, y): return x + y @app.task def handle_makeplot(f1,f2,t): #,user): r = Rower.objects.get(user=user) rr = rowingdata.rower(hrmax=r.max,hrut2=r.ut2,hrut1=r.ut1,hrat=r.at, hrtr=r.tr,hran=r.an,weightcategory=r.weightcategory) row = rdata(f2,rower=rr) fig1 = row.get_timeplot_erg(t) canvas = FigureCanvasAgg(fig1) imagename = f1+'.png' plt.savefig('static/plots/'+imagename,format='png') plt.close(fig1) return imagename def add2(x,y): return x+y