コード例 #1
0
def RunClient(*args, **kw):
    m2threading.init()
    id = kw['id']
    venueUri = kw['url']
    app = kw['app']
    iter = app.GetOption("rt")
    verbose = kw['verbose']

    profile = ClientProfile()
    profile.name = "Test Client %s" % id
    profile.publicId = str(GUID())

    client = MyVenueClient(profile, app)
    
    for i in range(iter):
        try:
            if verbose:
                print "Entering Venue: %s" % venueUri
            ret = client.EnterVenue(venueUri)
            if ret:
                print '** EnterVenue ret = ', ret
            print "Client %d Entered %s %d times" % (id, venueUri,i)
        except:
            print traceback.print_exc()
            continue
        
        if verbose:
            client.PrintVenueState()

        # Pick next one
        if client.venueState is not None:
            exits = client.venueState.connections.values()
            if len(exits):
                next_index = random.randint(0, len(exits)-1)
                venueUri = exits[next_index].uri

        try:
            time.sleep(1)
            client.ExitVenue()
            if verbose:
                print "Exited venue !"
        except:
            print traceback.print_exc()

    client.Shutdown()
    m2threading.cleanup()
コード例 #2
0
ファイル: ClientSwarm.py プロジェクト: aabhasgarg/accessgrid
def RunClient(*args, **kw):
    m2threading.init()
    id = kw["id"]
    venueUri = kw["url"]
    app = kw["app"]
    iter = app.GetOption("rt")
    verbose = kw["verbose"]

    profile = ClientProfile()
    profile.name = "Test Client %s" % id
    profile.publicId = str(GUID())

    client = MyVenueClient(profile, app)

    for i in range(iter):
        try:
            if verbose:
                print "Entering Venue: %s" % venueUri
            ret = client.EnterVenue(venueUri)
            if ret:
                print "** EnterVenue ret = ", ret
            print "Client %d Entered %s %d times" % (id, venueUri, i)
        except:
            print traceback.print_exc()
            continue

        if verbose:
            client.PrintVenueState()

        # Pick next one
        if client.venueState is not None:
            exits = client.venueState.connections.values()
            if len(exits):
                next_index = random.randint(0, len(exits) - 1)
                venueUri = exits[next_index].uri

        try:
            time.sleep(1)
            client.ExitVenue()
            if verbose:
                print "Exited venue !"
        except:
            print traceback.print_exc()

    client.Shutdown()
    m2threading.cleanup()
コード例 #3
0
    NUM_VENUE_CLIENTS = 3
    NUM_ROUNDTRIPS = 20

    #
    # process arguments
    venueUri = "https://localhost:8000/Venues/default"
    if len(sys.argv) > 1:
        venueUri = sys.argv[1]

    vcList = []

    print "Creating venue clients"
    for id in range(NUM_VENUE_CLIENTS):
        profile = ClientProfile("userProfile")
        profile.name = "User" + str(id)
        profile.publicId = profile.publicId + str(id)
        vcList.append(MyVenueClient(profile))

    for i in range(NUM_ROUNDTRIPS):
        print "Roundtrip: ", i
        print "Clients entering: "
        for vc in vcList:
            print "  ", vc.profile.name
            try:
                vc.EnterVenue(venueUri)
            except:
                print sys.exc_type
                print sys.exc_value
                print sys.exc_info()
コード例 #4
0
    sharedAppClient.SendEvent('event1', '2')
    print "event got sent"
                        
    print "\n--get participants; "
    for p in sharedAppClient.GetParticipants():
        if p.clientProfile != 'None' and p.clientProfile != None:
            print p.clientProfile.name

    print "\n--get components;"
    for p in sharedAppClient.GetComponents():
        print p
    
    clientProfileFile = os.path.join(UserConfig.instance().GetConfigDir(),
                                     "profile")
    clientProfile = ClientProfile(clientProfileFile)
    clientProfile.name = "new name"
    print "\n--set profile with name 'new name'"
    sharedAppClient.SetParticipantProfile(clientProfile)

    sharedAppClient.SetData("newKey", 15)
    sharedAppClient.SetData("newKey", 16)
               
    print "\n--set status to 'ready' "
    sharedAppClient.SetParticipantStatus('ready') 
    
    print "\n--participants; "
    for p in sharedAppClient.GetParticipants():
        if p.clientProfile != "None" and p.clientProfile != None:
            print p.clientProfile.name, p.status
    
    sharedAppClient.Shutdown()
コード例 #5
0
    sharedAppClient.SendEvent('event1', '2')
    print "event got sent"

    print "\n--get participants; "
    for p in sharedAppClient.GetParticipants():
        if p.clientProfile != 'None' and p.clientProfile != None:
            print p.clientProfile.name

    print "\n--get components;"
    for p in sharedAppClient.GetComponents():
        print p

    clientProfileFile = os.path.join(UserConfig.instance().GetConfigDir(),
                                     "profile")
    clientProfile = ClientProfile(clientProfileFile)
    clientProfile.name = "new name"
    print "\n--set profile with name 'new name'"
    sharedAppClient.SetParticipantProfile(clientProfile)

    sharedAppClient.SetData("newKey", 15)
    sharedAppClient.SetData("newKey", 16)

    print "\n--set status to 'ready' "
    sharedAppClient.SetParticipantStatus('ready')

    print "\n--participants; "
    for p in sharedAppClient.GetParticipants():
        if p.clientProfile != "None" and p.clientProfile != None:
            print p.clientProfile.name, p.status

    sharedAppClient.Shutdown()
コード例 #6
0
    NUM_VENUE_CLIENTS = 3
    NUM_ROUNDTRIPS = 20

    #
    # process arguments
    venueUri = "https://localhost:8000/Venues/default"
    if len(sys.argv) > 1:
        venueUri = sys.argv[1]


    vcList = []

    print "Creating venue clients"
    for id in range(NUM_VENUE_CLIENTS):
        profile = ClientProfile('userProfile')
        profile.name = "User"+str(id)
        profile.publicId = profile.publicId + str(id)
        vcList.append( MyVenueClient( profile ) )


    for i in range(NUM_ROUNDTRIPS):
        print "Roundtrip: ", i
        print "Clients entering: "
        for vc in vcList:
            print "  ", vc.profile.name
            try:
                vc.EnterVenue( venueUri )
            except:
                print sys.exc_type
                print sys.exc_value
                print sys.exc_info()