问题描述
今天我使用 otree 应用程序在 Heroku 上运行了我的第一次会话。
不幸的是,参与者收到了错误消息:
Jul 01 01:19:33 pgg-jmu app/web.1 websockets.exceptions.ConnectionClosedError:code = 1006(连接异常关闭[内部]),没有原因 7 月 1 日 01:19:33 pgg-jmu app/web.1 own_time=14ms request_id=9c6e69f6-0d8e-47b0-b01b-1a6d940c9daaJul 01 01:19:33 pgg-jmu app/web.1 own request_id=9c6e69f6-0d8e-47b0-b01b-1a6d940c9daa7 b27f-475c-bad9-e63eda6657bd Jul 01 01:19:34 pgg-jmu heroku/router at=error code=H12 desc="Request timeout" method=GET
-
应该归咎于代码吗? (该实验旨在促进全球化世界中的合作)
migrant_list = []
German_list = []
对于wait_players中的p:
如果 p.participant.vars['origin'] == 'Nein':
移民列表.append(p)
如果 p.participant.vars['origin'] == 'Ja':
German_list.append(p)
group_list = Subsession.get_groups(self)[1:]
分布列表 = [0,0]
if group_list:
对于 group_list 中的组:
German_counter = 0
移民计数器 = 0
对于 group.get_players() 中的玩家:
如果 player.participant.vars['origin'] == 'Nein':
移民计数器 += 1
如果 player.participant.vars['origin'] == 'Ja':
German_counter += 1
如果 German_counter == 0 和migrant_counter == 3:
分布列表[0] += 1
如果 German_counter == 1 和migrant_counter == 2:
分布列表[1] += 1
如果 German_counter == 2 和migrant_counter == 1:
分布列表[2] += 1
如果 German_counter == 3 和migrant_counter == 0:
分布列表[3] += 1
匹配工作如下:
列表migrant_list、german_list、group_list 和distribution_list(见代码)用于此目的。
-
migrant_list 和 German_list 列表包含队列中在上次调查中对有关其来源的问题回答是(德国)或否(移民)的玩家。
-
group_list 是包含子会话的所有组的列表,不包括第一组。
有四种可能的星座:
o 3 名移民
o 2 名移民,1 名德国人
o 1 个移民,2 个德国人
o 3 个德国人
要创建 distribution_list,请遍历 group_list 中的每个组以及相应组中的每个玩家。这些是 group_by_arrival_time_method 代码中唯一的循环,我认为这可能会导致负载增加。
-> 发生错误时,在第一组之后跳过几组。今天:请求超时后从 ID 2 到 ID 80。
- 对于所使用的能量,这个过程是否可能过于复杂?
我使用:Dyno (Web) Standard X1
我是否应该:将参与者减少到 12 人,同时增加 dyno 的力量?
- 我在实施数据库时做错了什么吗?
我删除了免费数据库并实施了新的 Postgres Standard 0。否则,我没有采取任何进一步的措施。 (独家在 Heroku 的资源页面上)
谢谢!
最佳安德烈
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)