heroku ps:exec
和heroku run bash
有什么区别?我只是想了解概念。两者似乎都在建立与远程容器/ dyno的SSH隧道。那么为什么heroku ps:exec
在第一次使用时需要重启dyno? 由于heroku ps:exec
使用默认的shell,所以这个命令更通用,那么需要配置/安装什么呢?heroku ps:exec
和heroku run bash
有什么区别?我只是想了解概念。两者似乎都在建立与远程容器/ dyno的SSH隧道。那么为什么heroku ps:exec
在第一次使用时需要重启dyno? 由于heroku ps:exec
使用默认的shell,所以这个命令更通用,那么需要配置/安装什么呢?heroku run bash
创建一个独立的会话(与任何特定进程无关),其中包含您的应用程序代码,并提供一个bash会话。这对于运行一次性任务(例如数据库迁移)非常有帮助,也可用于调试需要查看文件系统的问题。
heroku ps:exec
通道到作为您组成部分已经在运行的dyno。例如,如果您有5个web dyno,则可以直接通道到web.3
。这在动态表现出问题(例如内存压力或高负载)的情况下非常有用。能够连接到有问题的Dyno对于调试非常有用。
您还应注意,在heroku ps:exec
会话中未设置配置变量(即在Heroku设置选项卡上设置的环境变量)。
我无法确定为什么需要重新启动,但我想某些配置需要更改以启用与已在舰队中运行的dyno的连接。