Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku 一个dyno如何消耗数小时?_Heroku_Dyno - Fatal编程技术网

Heroku 一个dyno如何消耗数小时?

Heroku 一个dyno如何消耗数小时?,heroku,dyno,Heroku,Dyno,dynos是如何消耗时间的 考虑到我有一个1000小时的配额,如果我在一个项目中只有一个dyno,这是否意味着我永远不会超过我的配额?(在这种情况下,动态小时/天超过24小时) 我可以托管一个JSON文件并让另一个域(或本地主机)请求它吗?30分钟超时如何影响这一点?处理请求需要更长时间吗 如果我计划让Node.JS服务器通过Google Sheets API从Google Sheet请求信息,然后用这些信息更新JSON文件,那么在一个dyno中可以做到吗 说: 每个Heroku帐户都分配了一

dynos是如何消耗时间的

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

      每个Heroku帐户都分配了一个免费dyno小时池。如果应用程序设置为使用
      free
      dynos且满足以下任一条件,则应用程序会主动消耗免费dyno小时数:

      • 它有一个正在接收流量的web dyno(即,不睡觉)
      • 它有一个工人dyno在运行
      • 它有一个跑步的习惯。例如,可以通过CLI或调度程序启动
      如果你只有一个dyno,你一个月不能超过744小时(24小时/天×一个月最多31天)。但是,如果您也使用工人或一次性(如via),您可以

      当您的免费dyno时,下一个请求将需要更长的时间才能收到响应。这是因为Heroku需要唤醒你的dyno

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


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

      是否可以让Dyno在一天中的大部分时间都处于睡眠状态,然后在指定时间唤醒它以更新数据库中的信息?这会占用Dyno的时间吗?当它睡觉时,不,这不会占用Dyno的时间。听起来您想使用Heroku调度程序(请参阅我答案中的链接)在某个特定时间运行更新作业。这将创建一个新的一次性dyno来运行作业。一次性dyno运行时会消耗小时数,但一旦作业完成,dyno就会被销毁。因此,在这种情况下,是否可以完全禁用“主”dyno,而只让一次性dyno消耗小时数?@CAG2,可以,但如果要响应HTTP请求,则需要一个
      web
      dyno。它可能应该被配置为一直运行(尽管如果它是空闲的,它将受到上述睡眠规则的约束)。