from __future__ import absolute_import import numpy as np import time from redis import StrictRedis,Redis from celery import result as celery_result import json redis_connection = StrictRedis() import redis import threading import requests from rowsandall_app.settings import SITE_URL def getvalue(data): perc = 0 total = 1 done = 0 id = 0 session_key = 'noot' for i in data.iteritems(): if i[0] == 'total': total = float(i[1]) if i[0] == 'done': done = float(i[1]) if i[0] == 'id': id = i[1] if i[0] == 'session_key': session_key = i[1] return total,done,id,session_key def longtask(aantal,jobid=None,debug=False, session_key=None): counter = 0 channel = 'tasks' for i in range(aantal): time.sleep(1) counter += 1 if counter > 10: counter = 0 if debug: progress = 100.*i/aantal if jobid != None: redis_connection.publish(channel,json.dumps( { 'done':i, 'total':aantal, 'id':jobid, 'session_key':session_key, } )) return 1 def longtask2(aantal,jobid=None,debug=False): counter = 0 channel = 'tasks' for i in range(aantal): time.sleep(1) counter += 1 if counter > 10: counter = 0 progress = int(100.*i/aantal) if debug: print progress if jobid != None: url = SITE_URL+"/rowers/record-progress/" url += str(progress)+"/"+jobid s = requests.get(url) if debug: print url print s return 1