From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: * X-Spam-ASN: AS14383 205.234.109.0/24 X-Spam-Status: No, score=1.0 required=3.0 tests=AWL,HK_RANDOM_FROM, MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=no version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.rainbows.general Subject: Re: rails 2 and slow external services Date: Sun, 19 Dec 2010 17:00:15 -0800 Message-ID: <20101220010015.GA20300@dcvr.yhbt.net> References: <20101213103936.GA8440@dcvr.yhbt.net> <20101214045720.GC5051@dcvr.yhbt.net> <20101214063552.GA12020@dcvr.yhbt.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1292806899 10512 80.91.229.12 (20 Dec 2010 01:01:39 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 20 Dec 2010 01:01:39 +0000 (UTC) To: Rainbows! list Original-X-From: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Mon Dec 20 02:01:35 2010 Return-path: Envelope-to: gclrrg-rainbows-talk@m.gmane.org X-Original-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Delivered-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Errors-To: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Xref: news.gmane.org gmane.comp.lang.ruby.rainbows.general:181 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PUU86-0004J8-Jn for gclrrg-rainbows-talk@m.gmane.org; Mon, 20 Dec 2010 02:01:34 +0100 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 1282118581F3 for ; Sun, 19 Dec 2010 20:01:33 -0500 (EST) Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by rubyforge.org (Postfix) with ESMTP id 77D701858376 for ; Sun, 19 Dec 2010 20:00:18 -0500 (EST) Received: from localhost (unknown [127.0.2.5]) by dcvr.yhbt.net (Postfix) with ESMTP id 253E01F50E; Mon, 20 Dec 2010 01:00:16 +0000 (UTC) ghazel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: > I believe I found a bug in ThreadTimeout. It seems to be terminating a > request immediately every @timeout seconds. I'm using :ThreadSpawn and > my initializer is: > use Rainbows::ThreadTimeout, :timeout => 299 > > The observed behavior is that the request dies < 1 second later with > Rainbows::ThreadTimeout::ExecutionExpired. If I look 299 seconds back > in the log, I see another request killed prematurely. If I look 299 > further back from that, I see the process started at this time. > Glancing at the code: > > now = Time.now > @lock.synchronize do > @active.delete_if do |thread, time| > time >= now and thread.raise(ExecutionExpired).nil? > end > end > > The "time >= now" seems incorrect to me. Since "time" is set to > "Time.now + @timeout" it will be greater than Time.now while the > request still has time left. I believe that should read "now >= time". Yup, pushing out a trivial fix in a bit along with a test case. Thanks! (sorry for the delayed response, been under the weather lately) -- Eric Wong _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying