##// END OF EJS Templates
Prototipo de Servidor ABS concluido en SIR
Prototipo de Servidor ABS concluido en SIR

File last commit:

r351:8dc3ab07f696
r387:227ac5447d6c
Show More
tasks.py
102 lines | 2.9 KiB | text/x-python | PythonLexer
Juan C. Espinoza
Add scheduler for campaigns/experiments using celery #718, fix views and models bugs...
r196 from __future__ import absolute_import
Fix mix experiment and scheduler
r311 from radarsys.celery import app
Renato-TUF
Dependencias cumplidas parcialmente
r350 from celery import Task
Fiorella Quino
task for monitoring devices status from experiment...
r253 from datetime import timedelta, datetime
Juan C. Espinoza
Add scheduler for campaigns/experiments using celery #718, fix views and models bugs...
r196
from .models import Experiment
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 from celery import Celery
from celery.utils.log import get_task_logger
from django.utils import timezone
logger = get_task_logger(__name__)
Juan C. Espinoza
Add scheduler for campaigns/experiments using celery #718, fix views and models bugs...
r196
Renato-TUF
Se logró que no haya choque entre dependencias de manera total, no levanta la página web por X razones
r351 @Task
Juan C. Espinoza
Add scheduler for campaigns/experiments using celery #718, fix views and models bugs...
r196 def task_start(id_exp):
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348 print("exp.id", id_exp)
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 exp = Experiment.objects.get(pk=id_exp)
Fix mix experiment and scheduler
r311 status = exp.status
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348 if status == 2:
Fix mix experiment and scheduler
r311 print('Experiment {} already running start task not executed'.format(exp))
return 2
if status == 3:
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 now = datetime.now()
Fix mix experiment and scheduler
r311 start = datetime.combine(now.date(), exp.start_time)
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 end = datetime.combine(now.date(), exp.end_time)
print(now)
print(start)
print(end)
Fix mix experiment and scheduler
r311 if end < start:
end += timedelta(1)
try:
print('Starting exp:{}'.format(exp))
exp.status = exp.start()
except:
print('Error')
exp.status = 0
if exp.status == 2:
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348 #task = task_stop.apply_async((id_exp,),eta=end) #Antiguo eta=end+timedelta(hours=5))
task = task_stop.apply_async((id_exp,),eta=end+timedelta(hours=5)) #Antiguo eta=end+timedelta(hours=5))
Fix mix experiment and scheduler
r311 exp.task = task.id
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348
#------------ new ----------------------
if status == 4 or status == 1:
now = datetime.now()
start = datetime.combine(now.date(), exp.start_time)
end = datetime.combine(now.date(), exp.end_time)
print(now)
print(start)
print(end)
if now >= start:
print('Starting exp:{}'.format(exp))
exp.status = exp.start()
#---------------------------------------
Fix mix experiment and scheduler
r311 exp.save()
return exp.status
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348
Renato-TUF
Se logró que no haya choque entre dependencias de manera total, no levanta la página web por X razones
r351 @Task
Juan C. Espinoza
Add scheduler for campaigns/experiments using celery #718, fix views and models bugs...
r196 def task_stop(id_exp):
exp = Experiment.objects.get(pk=id_exp)
Fix mix experiment and scheduler
r311 if exp.status == 2:
try:
print('Stopping exp:{}'.format(exp))
exp.status = exp.stop()
except:
print('Error')
exp.status = 0
Fiorella Quino
task for monitoring devices status from experiment...
r253
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 now = datetime.now()
start = datetime.combine(now.date()+timedelta(1), exp.start_time)
task = task_start.apply_async((id_exp, ), eta=start) #Antiguo eta=start+timedelta(hours=5))
exp.task = task.id
Fix mix experiment and scheduler
r311 exp.status = 3
exp.save()
return exp.status
Fiorella Quino
task for monitoring devices status from experiment...
r253
#Task to get status
Renato-TUF
Se logró que no haya choque entre dependencias de manera total, no levanta la página web por X razones
r351 @Task
Fiorella Quino
task for monitoring devices status from experiment...
r253 def task_status(id_exp):
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 print ("task status"+str(id_exp))
Fiorella Quino
task for monitoring devices status from experiment...
r253 exp = Experiment.objects.get(pk=id_exp)
if exp.status==2:
run_every = timedelta(minutes=1)
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 now = datetime.utcnow()
date = now + run_every
Fiorella Quino
task for monitoring devices status from experiment...
r253 task_status.apply_async((id_exp,), eta=date)
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 print ("Monitoring...")
Fiorella Quino
task for monitoring devices status from experiment...
r253 exp.get_status()
return exp.status
else:
return exp.status
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348
Renato-TUF
Se logró que no haya choque entre dependencias de manera total, no levanta la página web por X razones
r351 @Task
Pruebas de ejecución de tareas celery-redis con varios dispositivos
r348 def task_test(id_exp):
print("mm",id_exp)
exp = Experiment.objects.get(pk=id_exp)
exp.status = exp.start()
return exp.status