Heroku 请求超时 (H12)

问题描述

今天我使用 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

  1. 应该归咎于代码吗? (该实验旨在促进全球化世界中的合作)

    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

匹配工作如下:

    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 人,同时增加 dyno 的力量?

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

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

谢谢!

最佳安德烈

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)