【问题标题】:Is it possible to redeploy a Heroku app without restarting some process types是否可以在不重新启动某些进程类型的情况下重新部署 Heroku 应用程序
【发布时间】:2016-04-04 15:18:07
【问题描述】:

我在 Heroku 上运行一个 Rails 应用程序,并且我定义了一个自定义进程类型来执行一些长时间运行的作业,真的很长时间运行,一个作业很容易花费大约一个小时或更长时间。我知道最好把它分成一些小块,但这对于这项任务来说是很成问题的。

问题在于,当我推送新版本时——Heroku 会重新启动所有 dynos(网络、worker、long worker——一切)。我想知道是否可以仅重新启动某些进程类型,例如只有网络测功机?

【问题讨论】:

    标签: ruby-on-rails heroku


    【解决方案1】:

    不,这是不可能的。解决这个问题的最简单和最具可扩展性的方法是将您的长时间运行的作业分成更小的块。 这样一来,您将可以非常快速地处理大量非常小的工作。当您的应用重新启动时,您将能够重新启动进程,因为它不会停止长时间运行的作业。

    或者,one-off dynos 在部署您的应用时不会重新启动。 使用 heroku api,您可以通过编程方式 boot one-off dynos。使用它,您可以为需要处理的每个长时间运行的作业启动一次性测功机。

    该作业将被处理(最多 24 小时,它将是 cycled),您将能够部署您的应用而无需重新启动它。

    【讨论】:

      猜你喜欢
      • 2021-07-09
      • 1970-01-01
      • 2019-12-15
      • 2011-04-20
      • 2010-12-12
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多