##// END OF EJS Templates
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2

File last commit:

r346:f3a35356b00a
r346:f3a35356b00a
Show More
tasks.py
66 lines | 1.8 KiB | text/x-python | PythonLexer
Fiorella Quino
Starting work with celery...
r202 from __future__ import absolute_import
Fiorella Quino
Task #769: Implementacion de Scheduler para Apuntes de ABS...
r204 from apps.main.models import Configuration
from .models import ABSBeam
import json
from datetime import timedelta, datetime
from celery.task import task
Fiorella Quino
Starting work with celery...
r202
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
Fiorella Quino
Task #769: Implementacion Scheduler para ABS, Task #717: Implementacion de start_device() y stop_device()...
r205 @task(name='task_change_beam')
Fiorella Quino
Task #769: Implementacion de Scheduler para Apuntes de ABS...
r204 def task_change_beam(id_conf):
Fiorella Quino
Starting work with celery...
r202
Fiorella Quino
Task #769: Implementacion de Scheduler para Apuntes de ABS...
r204 abs_conf = Configuration.objects.get(pk=id_conf)
beams_list = ABSBeam.objects.filter(abs_conf=abs_conf)
active_beam = json.loads(abs_conf.active_beam)
run_every = timedelta(seconds=abs_conf.operation_value)
now = datetime.utcnow()
date = now + run_every
Fiorella Quino
Task #769: Implementacion Scheduler para ABS, Task #717: Implementacion de start_device() y stop_device()...
r205 if abs_conf.device.status != 3:
return abs_conf.device.status
Fiorella Quino
Task #769: Implementacion de Scheduler para Apuntes de ABS...
r204 if abs_conf.operation_mode == 0: #Manual Mode
return 1
if active_beam:
current_beam = ABSBeam.objects.get(pk=active_beam['active_beam'])
i=0
for beam in beams_list:
if beam == current_beam:
i+=1
break
i+=1
if i < len(beams_list):
next_beam = beams_list[i]
abs_conf.send_beam_num(i+1)
next_beam.set_as_activebeam()
task = task_change_beam.apply_async((abs_conf.pk,), eta=date)
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 print (next_beam)
Fiorella Quino
Task #769: Implementacion de Scheduler para Apuntes de ABS...
r204 else:
abs_conf.send_beam_num(1)
beams_list[0].set_as_activebeam()
task = task_change_beam.apply_async((abs_conf.pk,), eta=date)
gonzalesluisfrancisco
Version con fecha de campanhas corregida pero falta lanzar las tareas e celery rev2
r346 print (beams_list[0])
Fiorella Quino
Task #769: Implementacion de Scheduler para Apuntes de ABS...
r204 i=0
else:
abs_conf.send_beam_num(1)
beams_list[0].set_as_activebeam()
task = task_change_beam.apply_async((abs_conf.pk,), eta=date)
return 2
Fiorella Quino
Task #961: Actualizar status de modulos ABS con subproceso...
r258
@task(name='status_absdevice')
def status_absdevice(id_conf):
abs_conf = Configuration.objects.get(pk=id_conf)
abs_conf.absmodule_status()
return