Private
Public Access
1
0
Files
rowsandall/rowers/longtask.py
Sander Roosendaal 1847ab37e3 cleaned up
2017-11-01 17:34:46 +01:00

59 lines
1.3 KiB
Python

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
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