USE_DB = 0
+import ConfigParser
import sys, os, string, re, pwd
if USE_DB: import pg
from time import time, sleep
print "Error reading config file "+config_file+": " + str(e)
sys.exit(1)
-
-if __name__ == '__main__':
- import ConfigParser
-
+def do_vend_server():
options = parse_args()
config_opts = VendConfigFile(options.config_file, config_options)
rfh, wfh = connect_to_vend(options, config_opts)
except (LATClientException, socket.error), e:
(exc_type, exc_value, exc_traceback) = sys.exc_info()
+ del exc_traceback
print
print "Connection error: "+str(exc_type)+" "+str(e)
- print_tb(exc_traceback)
- del exc_traceback
print "Trying again in 5 seconds."
sleep(5)
continue
print
print "Connection died, trying again..."
+
+if __name__ == '__main__':
+ while True:
+ try:
+ do_vend_server()
+ except KeyboardInterrupt:
+ print "Killed by SIGINT."
+ break
+ except:
+ (exc_type, exc_value, exc_traceback) = sys.exc_info()
+ print
+ print "Uh-oh, unhandled " + str(exc_type) + " exception"
+ print "Message: ", str(exc_value)
+ print
+ print_tb(exc_traceback)
+ del exc_traceback
+ print
+ print "This message should be considered a bug in the Vend Server."
+ print "Please report this to someone who can fix it."
+ print
+ print "Trying again anyway (might not help, but hey...)"
+