1

How do dynos consume hours?

  • Given that I have a 1000 hour quota, if I only have a single dyno in a project, does that mean I will never go over my quota? (As the dyno hours / day exceeds 24 in that case)
  • Can I host a JSON file and have it be requested by another domain (or a localhost)? How is this affected by the 30-minute timeout? Will it take longer for the request to be handled?
  • If I plan on having a Node.JS server requesting information from a Google Sheet via the Google Sheets API, then updating a JSON file with that information, can one do that within a single dyno?
4

1 回答 1

3

文档说:

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

  • 它有一个正在接收流量的网络测功机(即不休眠)
  • 它有一个工人测功机正在运行
  • 它有一个一次性的测功机运行。例如,一个通过 CLI 或调度程序启动。

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

当您的免费测功机在 30 分钟不活动后休眠时,下一个请求将需要更长的时间才能收到响应。这是因为 Heroku 需要唤醒你的测功机。

是的,您可以托管任意 HTTP 客户端请求的 JSON 文件。但是,您应该注意Heroku 的文件系统是短暂的。每当您的测功机重新启动时,您对文件系统所做的任何更改(例如保存文件)都将丢失。这种情况经常发生(至少每天一次)。

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

于 2019-09-08T15:49:48.840 回答