Esempio n. 1
0
def process_anuga_message():
    print "firing process_anuga_message task" 

    c = messaging_amqp.ServerMessages()
    while True:
        msg = c.recv_message()
        if msg is None:
            break
        print('Server got message: %s' % msg)
        
        # Ack and delete the message
        c.ack_message()

        output_json = json.loads(msg)
        scenario = Scenario.objects.get(pk=output_json['scenario_id'])
        user = User.objects.get(username=output_json['user']) 

        if output_json['status'] == "START":
            scenario.anuga_status = output_json['status']
            scenario.anuga_instance = output_json['instance']
            scenario.anuga_start_timestamp = datetime.datetime.fromtimestamp(float(output_json['time']))
            scenario.save()
        elif output_json['status'] == "ABORT":
            scenario.anuga_status = output_json['status'] 
            scenario.anuga_abort_message = output_json['message']
            scenario.anuga_log_timestamp = datetime.datetime.fromtimestamp(float(output_json['time']))
            scenario.save()
        elif output_json['status'] == "LOG":
            scenario.anuga_status = output_json['status']
            scenario.anuga_log_message = output_json['msg']
            scenario.anuga_log_timestamp = datetime.datetime.fromtimestamp(float(output_json['time']))
            #scenario.save()
        elif output_json['status'] == "STOP" and "payload" in output_json.keys():
            scenario.anuga_payload = output_json["payload"]
            scenario.anuga_status = output_json['status']
            scenario.anuga_end_timestamp = datetime.datetime.fromtimestamp(float(output_json['time']))
            scenario.save()
            process_finished_simulation(scenario)
        elif output_json['status'] == "IDLE":
            pass
Esempio n. 2
0
import sys
import os
import csv

sys.path.append("../")
os.environ['DJANGO_SETTINGS_MODULE'] = "tsudat2.settings"

from tsudat.utils import process_finished_simulation
from tsudat.models import Scenario

import logging, sys
for _module in ["geonode.maps.views", "geonode.maps.gs_helpers", "tsudat2.tsudat.models", "tsudat2.tsudat.views", "tsudat2.tsudat.tasks", "tsudat2.tsudat.utils"]:
   _logger = logging.getLogger(_module)
   _logger.addHandler(logging.StreamHandler(sys.stderr))
   _logger.setLevel(logging.DEBUG)

scenarios = Scenario.objects.filter(anuga_status = "STOP")

for scenario in scenarios:
    print "reprocessing completed scenario %d" % scenario.id 
    process_finished_simulation(scenario)