##// END OF EJS Templates
Se resolvió plot pattern de ABS
Se resolvió plot pattern de ABS

File last commit:

r390:5670a70fd8d1
r390:5670a70fd8d1
Show More
hello.py
85 lines | 3.4 KiB | text/x-python | PythonLexer
Renato Huallpa
Prototipo de Servidor ABS concluido en SIR
r387 from django.core.management.base import BaseCommand
Renato Huallpa
Avance scheduler
r388 from apps.main.models import Campaign, Location
from datetime import datetime,timedelta
from apps.main.views import radar_start
from django.shortcuts import render, redirect,get_object_or_404, HttpResponse
from django.urls import reverse
from django.utils.timezone import is_aware
from django.contrib import messages
from django.http import HttpResponseRedirect
from apps.main.views import experiment_start
from apps.main.models import Experiment, Configuration
Renato Huallpa
Prototipo de Servidor ABS concluido en SIR
r387
class Command(BaseCommand):
"""
Restart experiment every night at 05:00 am.
Example:
manage.py restart_experiment
"""
def handle(self, *args, **options):
Renato Huallpa
Se consiguió el scheduler
r389 print("\n\n")
all_campaigns=Campaign.objects.all()
Renato Huallpa
Avance scheduler
r388 campaigns = Campaign.objects.filter(start_date__lte=datetime.now(),
end_date__gte=datetime.now()).order_by('-start_date')
Renato Huallpa
Se consiguió el scheduler
r389 for campaign in all_campaigns:
if campaign.start_date<datetime.now() and campaign.end_date > datetime.now():
Renato Huallpa
Avance scheduler
r388
radar=campaign.get_experiments_by_radar(radar=None)
Renato Huallpa
Se consiguió el scheduler
r389 for rad in radar:
# print("RADR", rad)
radar_id=rad["id"]
# print("RADR_",radar_id)
Renato Huallpa
Se resolvió plot pattern de ABS
r390 radar_write_start_scheduler(campaign.id,radar_id)
Renato Huallpa
Se consiguió el scheduler
r389 print(campaign.name, "\t\t Campaign already running")
Renato Huallpa
Avance scheduler
r388
Renato Huallpa
Se consiguió el scheduler
r389 else:
Renato Huallpa
Avance scheduler
r388 radar=campaign.get_experiments_by_radar(radar=None)
radar_id=radar[0]["id"]
if campaign.experiments.all()[0].status !=1:
Renato Huallpa
Se consiguió el scheduler
r389 print(campaign.name, "\t\t Stopping Campaign...")
Renato Huallpa
Avance scheduler
r388 a=radar_stop_scheduler(campaign.id,radar_id,campaign.experiments.all()[0].id)
Renato Huallpa
Se consiguió el scheduler
r389 print("New Status: ", a)
else:
print(campaign.name,"\t\t\t Campaign already stooped")
Renato Huallpa
Avance scheduler
r388
Renato Huallpa
Se resolvió plot pattern de ABS
r390 def radar_write_start_scheduler(id_camp,id_radar):
Renato Huallpa
Avance scheduler
r388 campaign = get_object_or_404(Campaign, pk=id_camp)
experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments']
Renato Huallpa
Se consiguió el scheduler
r389 # print(campaign)
# print(experiments)
Renato Huallpa
Avance scheduler
r388 for exp in experiments:
exp = get_object_or_404(Experiment, pk=exp.id)
Renato Huallpa
Se consiguió el scheduler
r389 # print("---------DEBUGG-------------")
# print(exp)
Renato Huallpa
Avance scheduler
r388 if exp.status == 2:
Renato Huallpa
Se consiguió el scheduler
r389 print('\t\t\t {} \t\t Experiment already runnnig'.format(exp))
Renato Huallpa
Avance scheduler
r388 else:
exp.status = exp.start()
if exp.status == 0:
Renato Huallpa
Se consiguió el scheduler
r389 print('\t\t\t {} \t\tExperiment not start'.format(exp))
Renato Huallpa
Avance scheduler
r388 if exp.status == 2:
Renato Huallpa
Se consiguió el scheduler
r389 print('\t\t\t {} \t\tExperiment started'.format(exp))
if exp.status == 4:
Renato Huallpa
Se resolvió plot pattern de ABS
r390 print('\t\t\t {} \t\tExperiment with state uknown, please reset (Stop and start manually)'.format(exp))
Renato Huallpa
Avance scheduler
r388 exp.save()
Renato Huallpa
Prototipo de Servidor ABS concluido en SIR
r387
Renato Huallpa
Avance scheduler
r388 def radar_stop_scheduler(id_camp,id_radar,id_experiment):
'''
Stop experiments's devices
DDS-JARS-RC-CGS-ABS
'''
exp=get_object_or_404(Experiment,pk=id_experiment)
Renato Huallpa
Prototipo de Servidor ABS concluido en SIR
r387
Renato Huallpa
Avance scheduler
r388 if exp.status == 2:
confs = Configuration.objects.filter(experiment=id_experiment,type = 0).order_by('device__device_type__sequence')
confs = confs.exclude(device__device_type__name='cgs')
try:
for conf in confs:
Renato Huallpa
Se consiguió el scheduler
r389 # print(conf)
Renato Huallpa
Avance scheduler
r388 conf.stop_device()
exp.status= 1
except:
exp.status= 0
exp.save()
Renato Huallpa
Prototipo de Servidor ABS concluido en SIR
r387
Renato Huallpa
Avance scheduler
r388 return exp.status