gpt4 book ai didi

ruby-on-rails - Rails应用程序记录重复请求

转载 作者:行者123 更新时间:2023-12-04 05:10:06 24 4
gpt4 key购买 nike

我有一个Rails应用程序,正在为开发中的每个请求生成重复请求。该应用程序运行的是Rails 2.3.5,而我的主要开发计算机运行的是Ubuntu 10.4。但是,相同的代码可以很好地运行,而不会在OS X 10.6机器上显示重复的请求。它也可以在两台计算机上的生产模式下正常运行。

  Processing DashboardController#index (for 127.0.0.1 at 2010-07-16 10:23:08) [GET]
Parameters: {"action"=>"index", "controller"=>"dashboard"}
Rendering template within layouts/application
Rendering dashboard/index
Term Load (1.9ms) SELECT * FROM "date_ranges" WHERE ('2010-07-16' BETWEEN begin_date and end_date ) AND ( ("date_ranges"."type" = 'Term' ) )
StaticData Load (1.1ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
Rendered dashboard/_news (0.1ms)
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
StaticData Load (0.9ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'TAG_LINE') LIMIT 1
Completed in 67ms (View: 58, DB: 5) | 200 OK [http://localhost/dashboard]
SQL (0.4ms) SET client_min_messages TO 'panic'
SQL (0.4ms) SET client_min_messages TO 'notice'


Processing DashboardController#index (for 127.0.0.1 at 2010-07-16 10:23:08) [GET]
Parameters: {"action"=>"index", "controller"=>"dashboard"}
Rendering template within layouts/application
Rendering dashboard/index
Term Load (1.9ms) SELECT * FROM "date_ranges" WHERE ('2010-07-16' BETWEEN begin_date and end_date ) AND ( ("date_ranges"."type" = 'Term' ) )
StaticData Load (1.1ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
Rendered dashboard/_news (0.1ms)
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
StaticData Load (0.9ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'TAG_LINE') LIMIT 1
Completed in 67ms (View: 58, DB: 5) | 200 OK [http://localhost/dashboard]
SQL (0.4ms) SET client_min_messages TO 'panic'
SQL (0.4ms) SET client_min_messages TO 'notice'

请注意,请求的 完全一样,甚至到时间戳也一样。

我尝试使用Ruby 1.8.7和1.9.1以及在Mongrel和Webrick之间进行交换,并且它始终将每个请求处理两次(或者至少会生成两个日志条目)。我尝试删除了大多数路线,以查看是否发生了一些奇怪的事情,但是问题仍然存在。我尝试从不同的机器上使用不同的浏览器(Chrome,Safari,eLinks)以查看是否有帮助,但是问题仍然存在。我移走了所有的 gem ,只更换了必要的 gem ,但无济于事。

有谁知道为什么Rails会引起类似的重复请求?我将尽全力,要捕获稻草。唯一的亮点是,这种行为不会在生产环境下发生,而只会在开发环境下发生。

最佳答案

当人们从Google提出这个问题时,很重要的一点是,他们应该消除重复的日志之间的问题,如下所示:

A
A
B
B
C
C

从看起来像这样的重复日志中:
A
B
C

A
B
C

前者很可能来自重复的LOGGING。后者可能来自重复的REQUESTS。如果是后者(如问题提问者(OP)所示),则您应该强烈考虑@www的答案,即寻找 <img src="#">或类似的自引用url标记。我花了几个小时试图弄清楚为什么我的应用程序似乎出现了两个重复的请求,并且在阅读@www的答案(或 Double console output?上的@aelor的答案)之后,我发现
%link{href: "", rel: "shortcut icon"}/

在我的代码中!这导致我的生产应用程序的每个页面都是双重渲染!!!!太糟糕了,性能太烦人了!

关于ruby-on-rails - Rails应用程序记录重复请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3266020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com