0

今天我用一个 otree 应用程序在 Heroku 上运行了我的第一个会话。

不幸的是,参与者得到了错误消息:

7 月 1 日 01:19:33 pgg-jmu app/web.1 websockets.exceptions.ConnectionClosedError:代码 = 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_time=11ms request_id=0c69e4a3-b27f-475c-bad9-e63eda6657bd pgg Jul 01 01:193: -jmu heroku/路由器 at=错误代码=H12 desc="请求超时" 方法=GET

  1. 代码是罪魁祸首吗?(该实验旨在改善全球化世界中的合作)

    migration_list = []
    German_list = []

    for p in waiting_players:
    if p.participant.vars['origin'] == 'Nein':
    migration_list.append(p)
    if p.participant.vars['origin'] == ' Ja':
    German_list.append(p)

    group_list = Subsession.get_groups(self)[1:]

    distribution_list = [0, 0, 0, 0]

    if group_list:
    for group in group_list:
    German_counter = 0
    migration_counter = 0
    for player in group .get_players():
    if player.participant.vars['origin'] == 'Nein':
    migration_counter += 1
    if player.participant.vars['origin'] == 'Ja':
    German_counter += 1
    if German_counter = = 0 和移民计数器 == 3:
    分布列表[0] += 1
    如果 German_counter == 1 和 migration_counter == 2:
    distribution_list[1] += 1
    如果 German_counter == 2 和 migration_counter == 1:
    distribution_list[2] += 1
    如果 German_counter == 3 和 migration_counter == 0:
    distribution_list[3 ] += 1

匹配工作如下:

    1. 当有 15 人处于等待状态或第一个处于等待状态的人已经等待 13 分钟时,将创建第一组 3 人。(代码不包括在上面)(没有问题的工作)
  1. 在创建第一组后,其余玩家在等待循环中被分成 3 组。目的是实现群体组成的一定分布。(代码未包含在上面)

列表migrant_list、german_list、group_list 和distribution_list(见代码)用于此目的。

  • migrant_list 和 German_list 列表包含队列中在上一次调查中对有关其出身的问题回答“是”(德国)或“否”(移民)的玩家。

  • group_list 是包含子会话的所有组的列表,不包括第一组。

  • distribution_list 是包含会话的已匹配组的不同组星座的数量的列表。

有四种可能的星座:

o 3 名移民

o 2 名移民,1 名德国人

o 1 名移民,2 名德国人

o 3 名德国人

要创建 distribution_list,请遍历 group_list 中的每个组以及相应组中的每个玩家。这些是 group_by_arrival_time_method 的代码中唯一的循环,我认为这可能会导致负载增加。

-> 发生错误时,在第一组之后跳过几组。今天:请求超时后从 ID 2 到 ID 80。

  1. 对于所使用的功率来说,这个过程是否可能过于复杂?

我使用: Dyno (Web) Standard X1

我应该:将参与者人数减少到 12 人,同时增加测功机的功率吗?

  1. 实现数据库时我做错了什么吗?

我删除了免费数据库并实施了新的 Postgres Standard 0。否则,我没有采取任何进一步的措施。(仅在 Heroku 的资源页面上)

谢谢!

最佳安德烈

4

0 回答 0