Changeset 876 for trunk


Ignore:
Timestamp:
06/12/13 11:14:57 (11 years ago)
Author:
jripsl
Message:

Timeout test impl.
Add timestamp.

Location:
trunk/Monitoring
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Monitoring/Analyze/analyze

    r859 r876  
    2121from datetime import datetime 
    2222 
    23 from smon import repo_io 
     23 
     24# line below is to include "smon" package in the search path 
     25sys.path.append("/home/jripsl/snapshot/Monitoring") 
     26 
     27import smon.repo_io as repo_io 
     28import smon.types as types 
    2429 
    2530 
    26  
    27 """ 
    28 Code list reminder 
    29  
    30 0000 (la simulation démarre) 
    31 1000 (le job d'une simulation démarre) 
    32 2000 (PushStack) 
    33 3000 (PopStack OK) 
    34 9000 (PopStack NOK) 
    35 9999 (FATAL) 
    36 """ 
    3731 
    3832class CheckList(): 
     
    5246                diff=current_time-msg_time 
    5347 
     48                # debug 
     49                print "diff=%s"%diff 
    5450 
    5551                if diff>cls.max_time_between_msg: 
     
    6864                  changing the simulation status  
    6965                """ 
    70                 running_simulations=repo_io.get_running_simulations() 
    71                 for simulation in running_simulations: 
    72                         message=repo_io.retrieve_last_messages(simulation) 
     66 
     67 
     68                for simulation in repo_io.get_running_simulations(): 
     69 
     70                        print "checking heartbeat for '%s'"%simulation.name 
     71 
     72                        try: 
     73 
     74                                message=repo_io.retrieve_last_message(simulation) 
     75                        except types.MessageNotFoundException, e: 
     76 
     77                                continue 
     78 
    7379 
    7480                        if msg_timeout(message): 
    7581 
    76                                 repo_io.update_simulation_status(simulation) #from "running" to "killed" 
     82                                simulation.status="error" 
     83 
     84                                repo_io.update_simulation_status(simulation) 
     85 
     86                                print "heartbeat NOK (simulation status set to 'error')"%simulation.name 
     87 
     88 
     89                        else: 
     90                                print "heartbeat OK"%simulation.name 
    7791 
    7892class Analyzer(): 
     
    8094        @classmethod 
    8195        def start(cls): 
    82                 pass 
     96                repo_io.init() # open DB connection 
     97 
     98                Analyzer.main() 
    8399 
    84100        @classmethod 
    85101        def stop(cls): 
    86                 pass 
     102                repo_io.free() # close DB connection 
    87103 
    88104        @classmethod 
     
    104120                print ' [*] Analyzer running. To exit press CTRL+C' 
    105121 
    106                 CheckList.C0001() 
     122                while True: 
     123 
     124                        print "checking simulations heartbeats" 
     125 
     126                        CheckList.C0001() 
    107127 
    108128 
    109                 sleep(10) 
     129                        time.sleep(1) 
    110130 
    111131                """ 
     
    115135def signal_handler(signal, frame): 
    116136                print 'You pressed Ctrl+C!' 
     137 
     138                Analyzer.stop() 
     139 
    117140                sys.exit(0) 
    118141 
     
    122145 
    123146        try: 
    124                 Analyzer.main() 
     147                Analyzer.start() 
    125148 
    126149                sys.exit(0) 
  • trunk/Monitoring/Watch/watch

    r875 r876  
    100100 
    101101                if message.file is not None: 
    102                         print "%s %s %s\n"%(message.code,message.jobid,message.file) 
     102                        print "%s %s %s %s %s\n"%(message.code,message.jobid,message.command,message.timestamp,message.file) 
    103103                else: 
    104                         print "%s %s\n"%(message.code,message.jobid) 
     104                        print "%s %s %s %s\n"%(message.code,message.jobid,message.command,message.timestamp) 
    105105 
    106106        @classmethod 
    107107        def log(cls,message): 
    108108                with open("/home/jripsl/supervisor/log/supervisor.log", "a") as log_file: 
    109                         log_file.write("%s %s %s\n"%(datetime.now().strftime('%Y%m%d_%H%M%S'), message.code,message.jobid)) 
     109                        log_file.write("%s %s %s %s %s\n"%(datetime.now().strftime('%Y%m%d_%H%M%S'), message.code,message.jobid,message.timestamp,message.command)) 
    110110 
    111111        @classmethod 
     
    127127 
    128128        # debug 
    129         mapping = { "0000":["log", "print_stdout", "crea_sim"], 
    130                                 "0100":["log", "print_stdout", "set_sim_status_to_complete"], 
    131                                 "1000":["log", "print_stdout"], 
    132                                 "1100":["log", "print_stdout"], 
    133                                 "2000":["log", "print_stdout"], 
    134                                 "3000":["log", "print_stdout"], 
     129        mapping = { "0000":["log", "store_msg", "print_stdout", "crea_sim"], 
     130                                "0100":["log", "store_msg", "print_stdout", "set_sim_status_to_complete"], 
     131                                "1000":["log", "store_msg", "print_stdout"], 
     132                                "1100":["log", "store_msg", "print_stdout"], 
     133                                "2000":["log", "store_msg", "print_stdout"], 
     134                                "3000":["log", "store_msg", "print_stdout"], 
    135135                                "8888":["cleanup"], 
    136                                 "9000":["log", "print_stdout"], 
    137                                 "9999":["log", "print_stdout", "set_sim_status_to_error"] } 
     136                                "9000":["log", "store_msg", "print_stdout"], 
     137                                "9999":["log", "store_msg", "print_stdout", "set_sim_status_to_error"] } 
    138138 
    139139        # prod 
  • trunk/Monitoring/libIGCM_mock/libIGCM_mock.sh

    r875 r876  
    230230                        read -p "<<< $l__JSON_msg_buf >>>> sent. Press enter for next message" bla 
    231231                else 
     232                        echo "<<< $l__JSON_msg_buf .>>>>" 
    232233                        sleep $g__delay 
    233234                fi 
  • trunk/Monitoring/libIGCM_mock/scenario/start_simu__fatal_error__stop_simu

    r875 r876  
    1 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    2 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    3 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000  
    4 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9000  
    5 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9999 
     1simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     2simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     3simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     4simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9000 timestamp=2013-06-11-15:26:28 
     5simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9999 timestamp=2013-06-11-15:26:28 
    66 
  • trunk/Monitoring/libIGCM_mock/scenario/start_simu__nonfatal_errors__stop_simu

    r875 r876  
    1 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    2 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    3 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000  
    4 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000  
    5 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100  
    6 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100  
     1simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     2simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     3simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     4simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000 timestamp=2013-06-11-15:26:28 
     5simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100 timestamp=2013-06-11-15:26:28 
     6simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100 timestamp=2013-06-11-15:26:28 
  • trunk/Monitoring/libIGCM_mock/scenario/start_simu__simu_killed

    r875 r876  
    1 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    2 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    3 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000  
    4 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000  
     1simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     2simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     3simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     4simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000 timestamp=2013-06-11-15:26:28 
  • trunk/Monitoring/libIGCM_mock/scenario/start_simu__simu_segfault

    r875 r876  
    1 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    2 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    3 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000  
    4 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9000  
    5 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9999 
     1simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     2simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     3simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     4simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9000 timestamp=2013-06-11-15:26:28 
     5simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=9999 timestamp=2013-06-11-15:26:28 
    66 
  • trunk/Monitoring/libIGCM_mock/scenario/start_simu__start_second_simu_with_same_name

    r875 r876  
    1 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    2 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    3 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000  
    4 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000  
    5 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100  
    6 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100  
    7 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    8 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    9 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 
    10 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000 
    11 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100 
    12 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100 
     1simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     2simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     3simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     4simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000 timestamp=2013-06-11-15:26:28 
     5simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100 timestamp=2013-06-11-15:26:28 
     6simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100 timestamp=2013-06-11-15:26:28 
     7simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     8simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     9simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     10simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000 timestamp=2013-06-11-15:26:28 
     11simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100 timestamp=2013-06-11-15:26:28 
     12simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100 timestamp=2013-06-11-15:26:28 
  • trunk/Monitoring/libIGCM_mock/scenario/start_simu__stop_simu

    r875 r876  
    1 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 file=config.card.base64 
    2 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 
    3 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000  
    4 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000  
    5 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100  
    6 simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100  
     1simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0000 timestamp=2013-06-11-15:26:28 file=config.card.base64 
     2simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1000 timestamp=2013-06-11-15:26:28 
     3simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=2000 timestamp=2013-06-11-15:26:28 
     4simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=3000 timestamp=2013-06-11-15:26:28 
     5simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=1100 timestamp=2013-06-11-15:26:28 
     6simuid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE jobid=BIGBRO.clim.TEST.LMDZOR.p86denv.TGCC.CURIE.1 code=0100 timestamp=2013-06-11-15:26:28 
  • trunk/Monitoring/smon/local_repo.py

    r875 r876  
    5959        _conn.execute("create unique index if not exists idx_simulation_1 on simulation (name)") 
    6060 
    61         _conn.execute("create table if not exists message (id INTEGER PRIMARY KEY, simulation_id TEXT)") # TODO: check how to use INT datatype for simulation_id column 
     61        _conn.execute("create table if not exists message (id INTEGER PRIMARY KEY, simulation_id TEXT, body TEXT, crea_date TEXT)") # TODO: check how to use INT datatype for simulation_id column 
    6262 
    6363def cleanup(): 
     
    8484        rs=c.fetchone() 
    8585        while rs is not None: 
    86                 li.append(types.Simulation(name=rs[0],id=rs[1],status=rs[2])) 
     86 
     87                s=types.Simulation(name=rs[0],id=rs[1],status=rs[2]) 
     88 
     89                li.append(s) 
     90 
     91 
    8792                rs=c.fetchone() 
    8893 
     
    136141 
    137142def create_message(message): 
    138         _conn.execute("insert into message (simulation_id) values (?)",(message.simuid,)) 
     143         
     144        _conn.execute("insert into message (simulation_id,crea_date) values (?,?)",(message.simuid, message.timestamp)) 
    139145 
    140146        _conn.commit() 
     
    143149        c=_conn.cursor() 
    144150 
    145         _conn.execute("select id, content from message where simulation_id=? order by id desc limit 1",(simulation.id,)) 
     151        _conn.execute("select id, simulation_id, body, crea_date from message where simulation_id=? order by crea_date desc limit 1",(simulation.id,)) 
    146152 
    147153        rs=c.fetchone() 
    148154 
    149155        if rs is None: 
    150                 raise Exception() 
     156                raise types.MessageNotFoundException() 
    151157 
    152         return types.Message(id=rs[0]) 
     158        return types.Message(id=rs[0],simulation_id=rs[1],body=rs[2],timestamp=rs[3]) 
  • trunk/Monitoring/smon/repo_io.py

    r875 r876  
    300300        running_simulation=[] 
    301301 
    302         for s in retrieve_simulation(): 
     302        for s in retrieve_simulations(): 
    303303                if s.status=="running": 
    304304                        running_simulation.append(s) 
  • trunk/Monitoring/smon/types.py

    r875 r876  
    2828                return ",".join(['%s=%s'%(k,str(v)) for (k,v) in self.__dict__.iteritems()]) 
    2929 
     30class MessageNotFoundException(SMONException): 
     31        pass 
     32 
    3033class Tree(): 
    3134 
     
    4346                self.status=kw.get("status") 
    4447                self.name=kw.get("name") 
     48                self.id=kw.get("id") 
    4549 
    4650        def __str__(self): 
     
    4953class Message(): 
    5054        file=None 
     55        simuid=None 
     56        jobid=None 
     57        timestamp=None 
     58        command=None 
    5159 
    5260        def __init__(self,JSON_KW): 
Note: See TracChangeset for help on using the changeset viewer.