Ruby 管道本地标准至';heroku run';-必须';你不写信给史都吗?4k标准输出缓冲器?

Ruby 管道本地标准至';heroku run';-必须';你不写信给史都吗?4k标准输出缓冲器?,ruby,heroku,stdin,heroku-toolbelt,thor,Ruby,Heroku,Stdin,Heroku Toolbelt,Thor,我正在使用thor编写命令行任务(在rails 3应用程序中),并试图通过heroku将输入传递给它们,例如,cat somefile.csv | heroku运行thor sometask 在我的本地机器cat somefile.csv | thor sometask上运行良好,但在heroku上可能会失败。有些版本的sometasks偶尔会工作,而另一些版本总是在某个特定点失败——问题之一是,cat somefile.csv在被thor sometask使用时会回显到控制台(这只发生在her

我正在使用thor编写命令行任务(在rails 3应用程序中),并试图通过heroku将输入传递给它们,例如,
cat somefile.csv | heroku运行thor sometask

在我的本地机器
cat somefile.csv | thor sometask
上运行良好,但在heroku上可能会失败。有些版本的sometasks偶尔会工作,而另一些版本总是在某个特定点失败——问题之一是,
cat somefile.csv
在被
thor sometask
使用时会回显到控制台(这只发生在heroku上,所以我认为这是heroku CLI内部的)

我已经找到了一个解决办法,那就是确保我在thor任务&它们调用的函数中没有向控制台(stdout)写入任何内容,但是不得不这样做(没有进度指示等)令人沮丧

另一个“解决方法”是确保发送的文件小于4k(4095字节)-我无法使其失败

你知道为什么会发生这种情况吗(以及为什么猫会被回应到stdout)?例如,在通信过程中是否存在4k标准输出缓冲区限制?有没有办法让heroku CLI不那么冗长