#1 by Manuel
Hi everyone, we have programmed a study with three treatments where players are matched into groups of three at the end of the study to calculate and determine the payoffs. We are not very experienced with o-tree and face the following problem: When participants links on the wait page turn inactive (visualized with the yellow point) and then active again, then we receive error messages on a irregular basis and the matching is sometimes delayed. Since it is possible that participants will leave the page for a while and come back to it (let's say after checking their e-mails), we are afraid that they will receive this error message. The problem is that we can't see the error message because as soon as we delete OTREE_PRODUCTION from Heroku, the problem seems to disappear. Has anyone face this problem before? We'd be very thankful for any suggestions. Best Manuel & Robin Below our code to match the participants into groups of three before the payoff function is executed: def waiting_too_long(player: Player): participant = player.participant waiting = time.time() - participant.wait_page_arrival return waiting > 10*60 def group_by_arrival_time_method(subsession, waiting_players): base_players = [ p for p in waiting_players if p.participant.treatment == 'base'] random_players = [ p for p in waiting_players if p.participant.treatment == 'random'] extern_players = [ p for p in waiting_players if p.participant.treatment == 'extern'] if len(base_players) >= 3: # print('about to create a treatment group') return [base_players[0], base_players[1], base_players[2]] if len(random_players) >= 3: # print('about to create a control group') return [random_players[0], random_players[1], random_players[2]] if len(extern_players) >= 3: # print('about to create a control group') return [extern_players[0], extern_players[1], extern_players[2]] for player in waiting_players: if waiting_too_long(player): player.is_solo = True player.participant.solo_player = True player.participant.finished = True return [player] # print('not enough players yet to create a group') # Pages # ----------------------------------------------------------- class GBAT(WaitPage): body_text = """ Please wait and do not leave this page. If you are not matched into a group after 10 minutes, you will leave this page automatically. """ group_by_arrival_time = True after_all_players_arrive = set_payoffs # Page Sequence # ----------------------------------------------------------- page_sequence = [GBAT]
#2 by Chris_oTree
Turn on Heroku Sentry. Then the errors will be visible in your sentry dashboard.