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: AS33070 50.56.128.0/17 X-Spam-Status: No, score=1.3 required=3.0 tests=MSGID_FROM_MTA_HEADER, RDNS_NONE shortcircuit=no autolearn=no version=3.3.2 Path: news.gmane.org!not-for-mail From: "Lin Jen-Shin (godfat)" Newsgroups: gmane.comp.lang.ruby.rainbows.general Subject: EventMachine with thread pool and thread spawn Date: Sat, 24 Aug 2013 05:22:17 +0800 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1377292978 25195 80.91.229.3 (23 Aug 2013 21:22:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 23 Aug 2013 21:22:58 +0000 (UTC) To: "Rainbows! list" Original-X-From: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Fri Aug 23 23:23:02 2013 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=godfat.org; s=google; h=mime-version:from:date:message-id:subject:to:content-type; bh=7Haw08DiIak34K4fdQMqZLW+D9B0TUGtQwcAvWwww8o=; b=K4R8QlpNrToo/I6qshdfTnD+qBjBqwYpqn1o5SzS+CkFPuheN8VPW/RfKhFue8Gp+p 2q3zLPC5oXVc/DEtXL9bpa/2vOiKCi/ptzLBSYfpjl0juPIM2BUdvezh+yew5+3ht2Dd pYXjAoq55gxr20dId76yKooFnQ7Xd4Osul00I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=7Haw08DiIak34K4fdQMqZLW+D9B0TUGtQwcAvWwww8o=; b=VxFIRg6TP0FAF40wwGr5JGRw9t+VTA86bRh6qk89QukR/Ihx7VD5EkCV702wFKy/9K lzLt88LTIsc4/V7FfMoABE90GdhSB6WFGnSQK7CeQlLbbYEPV3xZQfFUXPeHeQNCvTmf gJLR1gDUEi7vvIE2P0PE6sd8YBmC0XiJ/XfnlRn7NJohLYa/mrQBYTi/UftOHUJNFAYn SO+FMlligrM8mCHyV8lYb45NdSPGFb6LoemWkE/mwQhSqMJZ/grn3K5Ecckg9IXIUVUv 2QuXM2/OuCflbUFhWiKq2lG/pyW4vbW+LMe4BQNPZD+JOZeKQlQ/q4nXZDi71kOXZ4F9 1zRg== X-Gm-Message-State: ALoCoQnuQe3hFGi/T9C70ZFbdgLiU8M3d6PGHPFEM3ayIF2Y6QRW1C2wwH+ZVunkWPGpHMcsSp7P X-Received: by 10.15.63.75 with SMTP id l51mr2087317eex.32.1377292967934; Fri, 23 Aug 2013 14:22:47 -0700 (PDT) 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 X-Broken-Reverse-DNS: no host name found for IP address 50.56.192.79 Xref: news.gmane.org gmane.comp.lang.ruby.rainbows.general:520 Archived-At: Received: from [50.56.192.79] (helo=rubyforge.org) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VCyou-0008Dh-4S for gclrrg-rainbows-talk@m.gmane.org; Fri, 23 Aug 2013 23:23:00 +0200 Received: from localhost.localdomain (localhost [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id DDCD12E19A; Fri, 23 Aug 2013 21:22:59 +0000 (UTC) Received: from mail-ee0-f48.google.com (mail-ee0-f48.google.com [74.125.83.48]) by rubyforge.org (Postfix) with ESMTP id 12DAC2E17D for ; Fri, 23 Aug 2013 21:22:49 +0000 (UTC) Received: by mail-ee0-f48.google.com with SMTP id l10so507503eei.35 for ; Fri, 23 Aug 2013 14:22:48 -0700 (PDT) Received: by 10.223.172.69 with HTTP; Fri, 23 Aug 2013 14:22:17 -0700 (PDT) Hi, So instead of trying to write a complete patch for Rainbows, I decided to go with a gem first and see how it goes. Here it is: https://github.com/godfat/rainbows-emtp (It's using EM.defer internally, we could change that later) This way, it might be easier for me to "rebase" on master. However, I guess it might be time to give up this approach. All tests passed except for t0106-rack-input-keepalive.sh, but I don't find a good way to make it pass. The key might be that pause/resume don't seem to work in EventMachine? And using tempfile to buffer the request might not be realistic. Another way would be... simply mark this model as not suitable for large chunk pipelined requests. At least it seems working fine on our production site. What do you think? Thanks for all your listening. (Maybe it's really time to move forward to celluloid-io, not sure if I would get the chance to work on and finish it though..) _______________________________________________ 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