##// END OF EJS Templates
abs module...
abs module git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@247 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r205:2b52673784ab
r224:b60d1cabdfae
Show More
tasks.py
54 lines | 1.5 KiB | text/x-python | PythonLexer
from __future__ import absolute_import
from apps.main.models import Configuration
from .models import ABSBeam
import json
from datetime import timedelta, datetime
from celery.task import task
@task(name='task_change_beam')
def task_change_beam(id_conf):
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
if abs_conf.device.status != 3:
return abs_conf.device.status
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)
print beams_list[0]
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