我有一个已部署到Heroku的Sinatra应用程序。有一个网页,用户提交表单,将一些文件写入临时文件夹,然后执行shell命令,必须使用刚写入的文件。
问题是当我执行shell时,执行的命令无法访问写入临时文件夹的文件。 shell命令应该将另一个文件写入临时文件夹,但是在shell命令运行完毕后,该文件对Ruby代码不可见。
我认为Web实例在一个dyno中运行,但是shell命令在另一个dyno中执行。有没有办法强制shell命令在运行HTTP请求/响应的同一个dyno中执行?
编辑:我做了一些调试,看起来他们都在同一个dyno中运行(ENV['DYNO']
与[backtick]echo $DYNO[backtick]
相同)。