单次测功如何消耗数小时?

时间:2019-09-08 14:45:30

标签: heroku dyno

测功机如何消耗数小时?

  • 鉴于我有1000小时的配额,如果我在一个项目中只有一个dyno,那是否意味着我永远不会超过配额? (因为在这种情况下,每天的动态小时数超过24)
  • 我可以托管JSON文件,并由其他域(或本地主机)请求吗? 30分钟的超时对这有何影响?处理请求是否需要更长的时间?
  • 如果我计划让Node.JS服务器通过Google Sheets API从Google Sheet请求信息,然后用该信息更新JSON文件,可以在单个dyno内做到这一点吗?

1 个答案:

答案 0 :(得分:1)

The documentation说:

  

每个Heroku帐户都会分配一个免费的动态小时池。如果将应用设置为使用free测功,并且以下任何一项为真,则该应用会主动消耗免费的测功时数:

     
      
  • 它具有可接收流量(即不睡觉)的网络测功机
  •   
  • 它正在运行一个工人dyno
  •   
  • 它正在运行one-off dyno。例如,一个通过CLI或Scheduler启动。
  •   

如果您只有一个测功机,则每月不应超过744小时(24小时/天×一个月最多31天)。但是,如果您还使用工作人员或一次性人员(例如通过Heroku Scheduler),则可以。

当您使用免费的动态sleeps after 30 minutes of inactivity时,下一个请求将需要更长的时间才能收到响应。这是因为Heroku需要唤醒您的测功机。

是的,您可以托管任意HTTP客户端请求的JSON文件。但是,您应该注意Heroku's filesystem is ephemeral。每当您的dyno重新启动时,您对文件系统所做的任何更改(例如保存文件)都将丢失。 happens frequently(每天至少一次)。

更好的解决方案是使用客户端服务器数据库来存储您的数据,并根据该数据动态构建JSON响应。 Heroku Postgres是一个简单的选项,具有免费的入门级,但也有other options