在多个web dynos上运行是否意味着我有多个服务器实例?

时间:2016-11-22 19:52:26

标签: heroku

我对heroku的整个dyno业务感到有点困惑。在他们的网站上,他们将dyno定义为:

  

dyno是一个运行单个的轻量级Linux容器   用户指定的命令。 dyno可以运行其中的任何可用命令   默认环境(我们在Cedar堆栈中提供的内容)或您的   app的slug(应用程序的压缩和预先打包的副本和   它的依赖关系)。

这(有点?)在我的脑海中是有意义的,但是当我想到在一个网络应用程序运行的多个dynos环境中的dynos时,我的大脑会扭曲。

让我建立一个带有服务器的Web应用程序,该服务器每3个小时只为所有用户运行一次非常重要的任务。如果我为这个站点运行多个web dynos,这是否意味着每个dyno上都运行一个单独的服务器实例?那么每3个小时运行一次非常重要的任务是否会每3个小时在每个dyno上运行一次?

非常感谢您的澄清!

1 个答案:

答案 0 :(得分:1)

每个dyno都是在其中一个heroku实例中运行的LXC container。 根据你的dyno大小,同一个实例上可能还有其他容器。

但粗略的想法是,你运行的每个dyno都是一个不同的实例,并且每3小时在任何web dyno上运行的任务将在所有这些dyno上运行。

您可能需要查看heroku scheduler插件。它将以指定的间隔运行one-off dyno,允许您运行类似cron的任务。