Package Ganga :: Package Lib :: Package MonitoringServices :: Package Octopus :: Module oreader
[hide private]
[frames] | no frames]

Source Code for Module Ganga.Lib.MonitoringServices.Octopus.oreader

 1  #!/usr/bin/env python 
 2  # 
 3  # $Id: oreader.py,v 1.1 2008-07-17 16:40:59 moscicki Exp $ 
 4  # 
 5   
 6   
 7  from Octopus import * 
 8  import getopt, sys, errno 
 9  import time 
10  import os 
11  import sys 
12   
13  try: 
14      s = os.environ['GANGA_OCTOPUS_SERVER'] 
15  except KeyError: 
16      s = 'localhost' 
17   
18  try: 
19      p = os.environ['GANGA_OCTOPUS_PORT'] 
20  except KeyError: 
21      p = 8882                                         
22   
23  octopus = Octopus(s, p) 
24  try: 
25      channel = long(sys.argv[1]) 
26  except IndexError: 
27      print >> sys.stderr, 'Usage: oreader <channel>' 
28      print >> sys.stderr, '       channel: The channel number to join on the server' 
29      print >> sys.stderr, 'The server to connect to is defined by the GANGA_OCTOPUS_SERVER and GANGA_OCTOPUS_PORT environment variables' 
30      sys.exit(5) 
31   
32  octopus.join(channel) 
33   
34  while not octopus.eotFound: 
35      try: 
36          data = octopus.read() 
37      except socket.error, e: 
38          if e[0] != errno.EAGAIN:  
39              raise socket.error(e) 
40          data = '' 
41      if len(data) <=0 : 
42          time.sleep(0.1) 
43      else: 
44          sys.stdout.write(data) 
45