##// END OF EJS Templates
frequency field have been added...
frequency field have been added git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@380 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r258:0e34c33380c6
r268:3e4bbe951750
Show More
tasks.py
63 lines | 1.7 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
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)
print next_beam
else:
abs_conf.send_beam_num(1)
beams_list[0].set_as_activebeam()
task = task_change_beam.apply_async((abs_conf.pk,), eta=date)
Fiorella Quino
Task #769: Implementacion Scheduler para ABS, Task #717: Implementacion de start_device() y stop_device()...
r205 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