Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails Runner与特定作业一起悬挂_Ruby On Rails_Ruby_Http - Fatal编程技术网

Ruby on rails Rails Runner与特定作业一起悬挂

Ruby on rails Rails Runner与特定作业一起悬挂,ruby-on-rails,ruby,http,Ruby On Rails,Ruby,Http,我有一个Rails项目,我正在尝试使用Rails runner运行脚本。这个脚本在我的本地机器上运行良好,但我正在尝试在我刚刚设置的新EC2实例上运行它 当我运行脚本时,它表现出一些非常奇怪的行为。脚本中的第一行是调试语句“Starting”。当我说“挂起”时,我的意思是“开始”永远不会打印出来 rails runner Script.run //hangs forever 值得一提的是,这个脚本的目的是发出几个HTTP请求。所以,在调试过程中,我注释掉了很多行,直到我得到了实际运行的最大程序

我有一个Rails项目,我正在尝试使用Rails runner运行脚本。这个脚本在我的本地机器上运行良好,但我正在尝试在我刚刚设置的新EC2实例上运行它

当我运行脚本时,它表现出一些非常奇怪的行为。脚本中的第一行是调试语句“Starting”。当我说“挂起”时,我的意思是“开始”永远不会打印出来

rails runner Script.run //hangs forever
值得一提的是,这个脚本的目的是发出几个HTTP请求。所以,在调试过程中,我注释掉了很多行,直到我得到了实际运行的最大程序

我需要注释掉的唯一一行是实际调用Net::HTTP.request的那一行。然后,脚本将运行并打印它应该执行的所有调试语句,但实际上它不会按预期的那样运行(显然)

我觉得奇怪的是,当发出HTTP请求的行出现时,脚本甚至不会打印“开始”。如果该错误到达HTTP请求本身,然后永久挂起,或者至少部分进入程序,则该错误将有一定意义

是什么导致Rails以这种方式运行?如有任何建议,我们将不胜感激


谢谢

我实际上犯了一个愚蠢的错误,但我要为将来犯同样错误的人回答我的问题

我忘了将“$stdout.sync=true”添加到配置文件中,所以Rails似乎挂起了,因为它没有写入stdout。当HTTP请求被禁用时,它运行得足够快,因此我没有注意到写入延迟