heroku ps:exec
有什么区别和 heroku run bash
?我只是想了解这个概念。两者似乎都在建立到远程容器/dyno 的 SSH 隧道。那么为什么heroku ps:exec
第一次使用时需要 dyno-restart 吗?看起来这个命令更通用(因为它使用默认shell),那么需要为它配置/安装什么?
最佳答案
heroku run bash
创建一个独立的(即不与任何特定进程相关联),其中包含可用的应用程序代码并为您提供 bash session 。这有助于运行一次性任务,如数据库迁移,也有助于调试需要查看文件系统的问题。heroku ps:exec
隧道到已经作为您的编队的一部分运行的dyno。例如,如果你有 5 个 web dynos,你可以直接连接到 web.3
例如。这在 dyno 出现问题(例如内存压力或高负载)的情况下很有用。能够连接到有问题的 dyno 对调试非常有用。
您还应该注意,您的配置变量(即在 heroku 设置选项卡上设置的环境变量)未在 heroku ps:exec
中设置。 session 。
我不能确定为什么需要重新启动,但我认为需要更改某些配置以启用与已在队列中运行的 dyno 的连接。
关于Heroku: "heroku ps:exec"和 "heroku run bash"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54386370/