Rainbows! Rack HTTP server user/dev discussion
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [ANN] Rainbows! 5.1.0 - rack 2.x compat, EM fixes
@ 2017-01-12 22:48  5% Eric Wong
  0 siblings, 0 replies; 7+ results
From: Eric Wong @ 2017-01-12 22:48 UTC (permalink / raw)
  To: rainbows-public; +Cc: Julia López Aladro, alex0375

This release now supports rack 2.x along with existing rack 1.x
applications.  Additionally, we now wait for deferred actions
for EventMachine users on graceful shutdown.

Thanks to Julia López Aladro and <alex0375@gmail.com> for
bringing up these changes in the open-to-all
rainbows-public@bogomips.org mailing list:

  https://bogomips.org/rainbows-public/CAPhSs6OAU+motd+MF=WOSek9==StLjEQJsNwAO3-aRWCZzhs=g@mail.gmail.com/T/

  https://bogomips.org/rainbows-public/CAKwvcL-VH3we4qA1pkNAstTmWvqNA=Rir2N_YiWztV_qbaLQvA@mail.gmail.com/T/

There's also a few documentation and test fixes.

9 changes since Rainbows! 5.0.0:

      doc: bump olddoc to ~> 1.2 for extra NNTP URLs
      doc: move homepage and update URLs to HTTPS
      doc: Static_Files: remove Future section
      tests: use correct file:// URL for random_blob path
      support rack 2.x
      Revert "t/t0044-autopush.sh: remove test"
      tests: re-enable EventMachine tests, again
      eventmachine: wait for deferred actions to finish
      doc: additional disclaimers

Rainbows! is maintained as long as anybody uses it,
but I don't recommend using it for new apps:

  https://bogomips.org/rainbows-public/20151020095934.GA19114@dcvr.yhbt.net/

* https://bogomips.org/rainbows/
* rainbows-public@bogomips.org
* https://bogomips.org/rainbows-public/
* git clone git://bogomips.org/rainbows.git
* https://bogomips.org/rainbows/NEWS.atom.xml
* nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows
* nntp://news.gmane.org/gmane.comp.lang.ruby.rainbows.general

*zzz*

^ permalink raw reply	[relevance 5%]

* Re: Waiting for deferred actions to finish
  2017-01-09 19:43  5% ` Eric Wong
@ 2017-01-10  7:31  0%   ` alex0375
  0 siblings, 0 replies; 7+ results
From: alex0375 @ 2017-01-10  7:31 UTC (permalink / raw)
  To: Eric Wong; +Cc: rainbows-public

Hi, Eric

I have tried the new revision (rainbows-5.0.0.8.gf385) and it works
great for me.

Thanks!

On Mon, Jan 9, 2017 at 10:43 PM, Eric Wong <e@80x24.org> wrote:
> alex0375@gmail.com wrote:
>> Am I missing something? Can this be a part of Rainbows?
>
> Nope, you're not missing anything :)
> Rainbows! was missing an EM feature introduced in 2012 :x
>
> I'll make a 5.1.0 release with following patches
> (coming in-reply-to this email) soon.
>
> There's also rack 2.x compatibility sitting in rainbows.git.
> https://bogomips.org/rainbows-public/20161117033531.GA4454@dcvr/T/
>
> The following changes since commit bd7596e50bd094edf5e5842afb8239c158fe2491:
>
>   Revert "t/t0044-autopush.sh: remove test" (2016-12-24 21:42:06 +0000)
>
> are available in the git repository at:
>
>   git://bogomips.org/rainbows em-deferred
>
> for you to fetch changes up to f385ed423e11ad40822f688bc592eaa78efa5b34:
>
>   eventmachine: wait for deferred actions to finish (2017-01-09 18:59:00 +0000)
>
> ----------------------------------------------------------------
> Eric Wong (2):
>       tests: re-enable EventMachine tests, again
>       eventmachine: wait for deferred actions to finish
>
>  SIGNALS                       |  6 +++---
>  lib/rainbows/event_machine.rb | 10 +++++++++-
>  t/GNUmakefile                 |  2 +-
>  t/app_deferred.ru             |  8 +++++++-
>  t/t0700-app-deferred.sh       | 18 +++++++++++++++---
>  5 files changed, 35 insertions(+), 9 deletions(-)

^ permalink raw reply	[relevance 0%]

* Re: Waiting for deferred actions to finish
  @ 2017-01-09 19:43  5% ` Eric Wong
  2017-01-10  7:31  0%   ` alex0375
  0 siblings, 1 reply; 7+ results
From: Eric Wong @ 2017-01-09 19:43 UTC (permalink / raw)
  To: alex0375; +Cc: rainbows-public

alex0375@gmail.com wrote:
> Am I missing something? Can this be a part of Rainbows?

Nope, you're not missing anything :)
Rainbows! was missing an EM feature introduced in 2012 :x

I'll make a 5.1.0 release with following patches
(coming in-reply-to this email) soon.

There's also rack 2.x compatibility sitting in rainbows.git.
https://bogomips.org/rainbows-public/20161117033531.GA4454@dcvr/T/

The following changes since commit bd7596e50bd094edf5e5842afb8239c158fe2491:

  Revert "t/t0044-autopush.sh: remove test" (2016-12-24 21:42:06 +0000)

are available in the git repository at:

  git://bogomips.org/rainbows em-deferred

for you to fetch changes up to f385ed423e11ad40822f688bc592eaa78efa5b34:

  eventmachine: wait for deferred actions to finish (2017-01-09 18:59:00 +0000)

----------------------------------------------------------------
Eric Wong (2):
      tests: re-enable EventMachine tests, again
      eventmachine: wait for deferred actions to finish

 SIGNALS                       |  6 +++---
 lib/rainbows/event_machine.rb | 10 +++++++++-
 t/GNUmakefile                 |  2 +-
 t/app_deferred.ru             |  8 +++++++-
 t/t0700-app-deferred.sh       | 18 +++++++++++++++---
 5 files changed, 35 insertions(+), 9 deletions(-)

^ permalink raw reply	[relevance 5%]

* Re: [PATCH 5/6] t/t0044-autopush.sh: remove test
  2015-09-14  5:33  6% ` [PATCH 5/6] t/t0044-autopush.sh: remove test Eric Wong
@ 2016-12-24 22:04 14%   ` Eric Wong
  0 siblings, 0 replies; 7+ results
From: Eric Wong @ 2016-12-24 22:04 UTC (permalink / raw)
  To: rainbows-public

Btw, I've reverted this removal with the release of kgio 2.11.0
and commit bd7596e50bd094edf5e5842afb8239c158fe2491

   Revert "t/t0044-autopush.sh: remove test"

   Stuck between a rock and a hard place..
   This reverts commit 5c911ab2470a2ca9c140b3a2e20ae810bf758590
   and restores autopush support when using kgio 2.11.0+

   Explanations on the kgio mailing list below:

   https://bogomips.org/kgio-public/20161216-kgio-2.11.0-released@fail/
   https://bogomips.org/kgio-public/20161216000110.GA7366@untitled/T/#u

   We can drop kgio when we drop Ruby <= 2.2 support in a few years.

https://bogomips.org/rainbows.git/patch?id=bd7596e50bd0

Oh well...

^ permalink raw reply	[relevance 14%]

* [ANN] Rainbows! 4.7.0 - Rack HTTP server for the sleepy
@ 2015-10-19 21:28  5% Eric Wong
  0 siblings, 0 replies; 7+ results
From: Eric Wong @ 2015-10-19 21:28 UTC (permalink / raw)
  To: rainbows-public; +Cc: ruby-talk

Rainbows! is an HTTP server for sleepy Rack applications.
Use of Rainbows! for new projects is not recommended,
try other servers instead.

Changes since 4.6.2:

    Rainbows! 4.7.0 - updates for ruby 2.3.0dev

    This release includes fixes for upcoming changes in Ruby 2.3.0
    (due December 2015).  Use of Rainbows! for new projects is not
    recommended, try other servers instead.

    * update dependencies for Ruby 2.2.0dev
    * switch docs + website to olddoc
    * gemspec: fix bad reference to rdoc_options
    * README: reference yahns
    * build: fix quoting issue with double parens
    * response: avoid unnecessary args to IO.copy_stream
    * t/close-has-env.ru: ensure close is idempotent
    * sync_close: This fix breakage from Ruby-trunk r50118
    * t/t0044-autopush.sh: remove test
    * t/test_isolate.rb: updates for various gem versions
    * response: convert source arg to path before IO.copy_stream
    * speed up QUIT for users of the unicorn worker_loop
    * gemspec: use SPDX-compatible license for GPL-2.0+

* http://rainbows.bogomips.org/
* rainbows-public@bogomips.org
* http://bogomips.org/rainbows-public/
* git clone git://bogomips.org/rainbows.git
* http://rainbows.bogomips.org/NEWS.atom.xml

^ permalink raw reply	[relevance 5%]

* [PATCH 5/6] t/t0044-autopush.sh: remove test
  2015-09-14  5:33  6% [PATCH 0/6] misc updates for Ruby-trunk and gem changes Eric Wong
@ 2015-09-14  5:33  6% ` Eric Wong
  2016-12-24 22:04 14%   ` Eric Wong
  0 siblings, 1 reply; 7+ results
From: Eric Wong @ 2015-09-14  5:33 UTC (permalink / raw)
  To: rainbows-public

kgio no longer does anything with autopush, so this test is
broken.  Autopush was overkill and badly done (MSG_MORE is
better on Linux, FreeBSD should copy it :P).
---
 t/t0044-autopush.sh | 121 ----------------------------------------------------
 1 file changed, 121 deletions(-)
 delete mode 100644 t/t0044-autopush.sh

diff --git a/t/t0044-autopush.sh b/t/t0044-autopush.sh
deleted file mode 100644
index 103f9fc..0000000
--- a/t/t0044-autopush.sh
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-. ./test-lib.sh
-STRACE=$(which strace 2>/dev/null || :)
-if ! test -x "$STRACE"
-then
-	t_info "strace not found, skipping $T"
-	exit 0
-fi
-if test x"$(uname -s)" != xLinux
-then
-	t_info "Linux is the only supported OS for $T"
-	exit 0
-fi
-
-# these buffer internally in external libraries, so we can't detect when
-# to use TCP_CORK
-skip_models EventMachine NeverBlock
-skip_models StreamResponseEpoll
-skip_models Coolio CoolioThreadPool CoolioThreadSpawn
-skip_models Revactor Rev RevThreadPool RevThreadSpawn
-
-# not sure why, but we don't have time to care about Ruby 1.8 too much
-case $RUBY_VERSION in
-1.8.*) skip_models WriterThreadSpawn WriterThreadPool ;;
-esac
-
-t_plan 13 "Kgio autopush tests"
-
-start_strace () {
-	# dbgcat strace_out
-	> $strace_out
-	sleep 1
-	strace -p $worker_pid -e '!futex' -f -o $strace_out &
-	strace_pid=$!
-	while ! test -s $strace_out; do sleep 1; done
-}
-
-check_TCP_CORK () {
-	nr=0
-	while test 2 -gt $(grep TCP_CORK $strace_out | count_lines)
-	do
-		nr=$(( $nr + 1 ))
-		if test $nr -gt 30
-		then
-			dbgcat strace_out
-			die "waited too long ($nr seconds) for TCP_CORK"
-		fi
-		sleep 1
-	done
-
-	test 2 -eq $(grep TCP_CORK $strace_out | count_lines)
-	fgrep 'SOL_TCP, TCP_CORK, [0],' $strace_out
-	fgrep 'SOL_TCP, TCP_CORK, [1],' $strace_out
-}
-
-t_begin "setup and start" && {
-	rainbows_setup $model 1 1
-	rtmpfiles strace_out
-	ed -s $unicorn_config <<EOF
-,s/^listen.*/listen "$listen", :tcp_nodelay => true, :tcp_nopush => true/
-w
-EOF
-	rainbows -D large-file-response.ru -c $unicorn_config -E none
-	rainbows_wait_start
-}
-
-t_begin "read worker pid" && {
-	worker_pid=$(curl -sSf http://$listen/pid)
-	kill -0 $worker_pid
-}
-
-t_begin "start strace on worker" && start_strace
-
-t_begin "reading RSS uncorks" && {
-	curl -sSf http://$listen/rss >/dev/null
-}
-
-t_begin "restart strace on worker" && {
-	kill $strace_pid
-	wait
-	start_strace
-}
-
-t_begin "reading static file uncorks" && {
-	curl -sSf http://$listen/random_blob >/dev/null
-	check_TCP_CORK
-}
-
-t_begin "stop strace on worker" && {
-	kill $strace_pid
-	wait
-}
-
-t_begin "enable sendfile" && {
-	echo >> $unicorn_config 'require "sendfile"'
-	kill -HUP $rainbows_pid
-	test xSTART = x"$(cat $fifo)"
-}
-
-t_begin "reread worker pid" && {
-	worker_pid=$(curl -sSf http://$listen/pid)
-	kill -0 $worker_pid
-}
-
-t_begin "restart strace on the worker" && start_strace
-
-t_begin "HTTP/1.x GET on static file with sendfile uncorks" && {
-	curl -sSf http://$listen/random_blob >/dev/null
-	check_TCP_CORK
-}
-
-t_begin "killing succeeds" && {
-	kill $strace_pid
-	wait
-	# dbgcat strace_out
-	kill $rainbows_pid
-}
-
-t_begin "check stderr" && check_stderr
-
-t_done
-- 
EW


^ permalink raw reply related	[relevance 6%]

* [PATCH 0/6] misc updates for Ruby-trunk and gem changes
@ 2015-09-14  5:33  6% Eric Wong
  2015-09-14  5:33  6% ` [PATCH 5/6] t/t0044-autopush.sh: remove test Eric Wong
  0 siblings, 1 reply; 7+ results
From: Eric Wong @ 2015-09-14  5:33 UTC (permalink / raw)
  To: rainbows-public

Ruby keeps changing, and so do gems (and I'm to blame for the
kgio change) which requires removing t0044.

Oh well.  Maybe I'll add MSG_MORE support to Rainbows! someday,
but yahns already supports it :)

Eric Wong (6):
      build: fix quoting issue with double parens
      response: avoid unnecessary args to IO.copy_stream
      t/close-has-env.ru: ensure close is idempotent
      sync_close: This fix breakage from Ruby-trunk r50118
      t/t0044-autopush.sh: remove test
      t/test_isolate.rb: updates for various gem versions

 lib/rainbows/response.rb   |   2 +-
 lib/rainbows/sync_close.rb |  12 ++++-
 t/GNUmakefile              |   2 +-
 t/close-has-env.ru         |   1 +
 t/t0044-autopush.sh        | 121 ---------------------------------------------
 t/test_isolate.rb          |  16 +++---
 6 files changed, 21 insertions(+), 133 deletions(-)


^ permalink raw reply	[relevance 6%]

Results 1-7 of 7 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2015-09-14  5:33  6% [PATCH 0/6] misc updates for Ruby-trunk and gem changes Eric Wong
2015-09-14  5:33  6% ` [PATCH 5/6] t/t0044-autopush.sh: remove test Eric Wong
2016-12-24 22:04 14%   ` Eric Wong
2015-10-19 21:28  5% [ANN] Rainbows! 4.7.0 - Rack HTTP server for the sleepy Eric Wong
2017-01-09 13:43     Waiting for deferred actions to finish alex0375
2017-01-09 19:43  5% ` Eric Wong
2017-01-10  7:31  0%   ` alex0375
2017-01-12 22:48  5% [ANN] Rainbows! 5.1.0 - rack 2.x compat, EM fixes Eric Wong

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/rainbows.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).