def main(): def on_fatal_error(error): print >> sys.stderr, error session_done_flag.set() def on_non_fatal_error(error): print >> sys.stderr, error session_done_flag.set() def start(): # start Dispersy dispersy = TrackerDispersy.get_instance(callback, unicode(opt.statedir), opt.port) dispersy.endpoint = RawserverEndpoint(rawserver, dispersy, opt.port, opt.ip) dispersy.define_auto_load(TrackerCommunity) command_line_parser = optparse.OptionParser() command_line_parser.add_option("--statedir", action="store", type="string", help="Use an alternate statedir", default=".") command_line_parser.add_option("--ip", action="store", type="string", default="0.0.0.0", help="Dispersy uses this ip") command_line_parser.add_option("--port", action="store", type="int", help="Dispersy uses this UDL port", default=6421) command_line_parser.add_option("--timeout-check-interval", action="store", type="float", default=60.0) command_line_parser.add_option("--timeout", action="store", type="float", default=300.0) # parse command-line arguments opt, _ = command_line_parser.parse_args() print "Press Ctrl-C to stop Dispersy" # start threads session_done_flag = threading.Event() rawserver = RawServer(session_done_flag, opt.timeout_check_interval, opt.timeout, False, failfunc=on_fatal_error, errorfunc=on_non_fatal_error) callback = Callback() callback.start(name="Dispersy") callback.register(start) def rawserver_adrenaline(): """ The rawserver tends to wait for a long time between handling tasks. """ rawserver.add_task(rawserver_adrenaline, 0.1) rawserver.add_task(rawserver_adrenaline, 0.1) def watchdog(): while True: try: yield 333.3 except GeneratorExit: rawserver.shutdown() session_done_flag.set() break callback.register(watchdog) rawserver.listen_forever(None) callback.stop()
def main(): def on_fatal_error(error): print >> sys.stderr, error session_done_flag.set() def on_non_fatal_error(error): print >> sys.stderr, error session_done_flag.set() def start(): # start Dispersy dispersy = TrackerDispersy.get_instance(rawserver, unicode(opt.statedir)) dispersy.socket = DispersySocket(rawserver, dispersy, opt.port, opt.ip) # load all HardKilledCommunity communities print "Restored", len(HardKilledCommunity.load_communities()), "hard-killed communities" # load the existing Tracker communities print "Restored", len(TrackerCommunity.load_communities()), "tracker communities" command_line_parser = optparse.OptionParser() command_line_parser.add_option("--statedir", action="store", type="string", help="Use an alternate statedir", default=".") command_line_parser.add_option("--ip", action="store", type="string", default="0.0.0.0", help="Dispersy uses this ip") command_line_parser.add_option("--port", action="store", type="int", help="Dispersy uses this UDL port", default=6421) command_line_parser.add_option("--timeout-check-interval", action="store", type="float", default=60.0) command_line_parser.add_option("--timeout", action="store", type="float", default=300.0) # parse command-line arguments opt, args = command_line_parser.parse_args() print "Press Ctrl-C to stop Dispersy" # start threads session_done_flag = threading.Event() rawserver = RawServer(session_done_flag, opt.timeout_check_interval, opt.timeout, False, failfunc=on_fatal_error, errorfunc=on_non_fatal_error) callback = Callback() callback.start(name="Dispersy") callback.register(start) def watchdog(): while True: try: yield 333.3 except GeneratorExit: rawserver.shutdown() session_done_flag.set() break callback.register(watchdog) rawserver.listen_forever(None) callback.stop()
command_line_parser.add_option("--timeout", action="store", type="float", default=300.0) # command_line_parser.add_option("--disable-allchannel-script", action="store_true", help="Include allchannel scripts", default=False) # command_line_parser.add_option("--disable-barter-script", action="store_true", help="Include barter scripts", default=False) command_line_parser.add_option("--disable-simple-dispersy-test-script", action="store_true", help="Include simple-dispersy-test scripts", default=False) command_line_parser.add_option("--disable-dispersy-script", action="store_true", help="Include dispersy scripts", default=False) command_line_parser.add_option("--script", action="store", type="string", help="Runs the Script python file with <SCRIPT> as an argument") command_line_parser.add_option("--script-args", action="store", type="string", help="Executes --script with these arguments. Example 'startingtimestamp=1292333014,endingtimestamp=12923340000'") # parse command-line arguments opt, args = command_line_parser.parse_args() print "Press Ctrl-C to stop Dispersy" # start threads session_done_flag = threading.Event() rawserver = RawServer(session_done_flag, opt.timeout_check_interval, opt.timeout, False, failfunc=on_fatal_error, errorfunc=on_non_fatal_error) callback = Callback() callback.start(name="Dispersy") callback.register(start) def watchdog(): while True: try: yield 333.3 except GeneratorExit: rawserver.shutdown() session_done_flag.set() break callback.register(watchdog) rawserver.listen_forever(None) callback.stop()