我正在使用
heroku ps:exec
进入测功机。我想运行一个命令,但该命令依赖于应用程序上已设置的一些环境配置变量。
根据 Heroku 的文档:
Heroku Exec 创建的 SSH 会话没有配置变量 设置为环境变量(即会话中的 env 未列出 配置变量由 heroku config:set 设置)。
如何解决这个问题?在处于执行模式后,是否可以从生产配置激活特定的环境变量?我正在使用Python。
这里有一个类似的SO帖子,但唯一提交的答案似乎不适用于Python项目。
heroku exec
使用 SSH 登录正在运行的测功机。正如您所指出的,这些会话在设计上无法访问配置变量。
但这并不是在 Heroku 上运行命令的唯一方法。大多数时候,
heroku run
是更好的选择。这会创建一个一次性的测功机,当命令完成运行时该测功机将被丢弃。一次性 dynos do 可以访问您应用程序的配置变量。
我唯一一次接触
heroku exec
而不是heroku run
是当我需要访问测功机的本地状态时。当本地状态最小并且dynos可以随时向上或向下旋转时,应用程序在Heroku上运行得最好。