如何在 Heroku 上为每个测功机设置单独的 slug?

Posted

技术标签:

【中文标题】如何在 Heroku 上为每个测功机设置单独的 slug?【英文标题】:How to have separate slugs per dyno on Heroku? 【发布时间】:2022-01-23 23:17:08 【问题描述】:

我的 heroku slug 大小空间不足,所以我想我可以通过将 worker 与主 web dyno 分开并单独构建 heroku 来解决它每个测功机的蛞蝓。这甚至可能吗?我在任何地方都没有找到这方面的信息,所以我既不能证明它可以做到,也不能证明它是错误的。有什么想法吗?谢谢

【问题讨论】:

【参考方案1】:

由于您想要解决的根本问题似乎是蛞蝓大小,您是否尝试过以下任一潜在解决方案?

使用.slugignore (documentation) 忽略不需要在最终构建中的文件 清除构建缓存,因为有时这可能会占用额外空间 (documentation) 创建支持票证,要求增加允许的 slug 大小。

虽然这些可能不会立即回答您的“我怎样才能拆分 slug”的问题,但我觉得它们可能比解决您的部署过程更容易解​​决您的 slug 大小问题,这似乎 不好玩。

【讨论】:

按照传统的记录方式减小 slug 大小不是一种选择,因为问题本质上是不一样的。我的问题是我有很大的依赖关系,所以我只能拆分应用程序。【参考方案2】:

可以拆分 web 和 worker(如果有意义的话)并以不同方式部署它们。

您还可以考虑减少 Heroku guidelines 之后的 slug,或使用 Docker 将应用程序容器化。 Docker 镜像不受 slug 最大大小限制。

【讨论】:

不幸的是,我不能让我的 slug 尺寸更小,我知道我可以拆分 web 和 worker,但是热告诉 heroku 将它构建为单独的 slug?谢谢

以上是关于如何在 Heroku 上为每个测功机设置单独的 slug?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Heroku 时钟测功机睡在免费套餐上?

用于自动缩放 Heroku 测功机和工人的宝石/服务

如何停止用完 Heroku 上的免费测功机

您如何在单个 Heroku 测功机上运行多个 DelayedJob 工作人员?

如何在 Heroku 上为 Django 应用程序设置数据库?

如何在使用heroku部署的flask webapp上为每个用户实现唯一的会话[重复]