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

File last commit:

r205:2b52673784ab
r257:7bcdcaceb938
Show More
tasks.py
54 lines | 1.5 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