summaryrefslogtreecommitdiff
path: root/lib/unicorn/oob_gc.rb
AgeCommit message (Collapse)AuthorFilesLines
2017-03-08oob_gc: rely on opt_aref_with optimization on Ruby 2.2+Eric Wong1-2/+1
Maybe oob_gc probably isn't heavily used anymore, maybe some Ruby 2.2+ users will benefit from this constant reduction. Followup-to: fb2f10e1d7a72e67 ("reduce constants and optimize for Ruby 2.2")
2016-07-28doc: update gmane URLs to point to our own archivesEric Wong1-2/+3
Gmane's NNTP server remains up, but the HTTP site is down: https://lars.ingebrigtsen.no/2016/07/28/the-end-of-gmane/ Anyways, our own archives are designed to be mirror-able via git: git clone --mirror https://bogomips.org/unicorn-public And the code is self-hostable: git clone https://public-inbox.org
2014-04-02oob_gc: link to Discourse OobGC for Ruby 2.0 usersEric Wong1-0/+4
Thanks to Sam Saffron for the heads up.
2014-03-29oobgc: link to Aman's gctools for Ruby 2.1+Eric Wong1-0/+6
I've never liked OobGC, so "hot potato!" :)
2011-10-04OobGC: force GC.startYuichi Tateno1-0/+2
[ew: we need to explicitly enable GC if it is disabled and respect applications that disable GC] Acked-by: Eric Wong <normalperson@yhbt.net>
2011-04-29oob_gc: reimplement to fix breakage and add testsEric Wong1-50/+61
This was broken since v3.3.1[1] since nginx relies on a closed socket (and not Content-Length/Transfer-Encoding) to detect a response completion. We have to close the client socket before invoking GC to ensure the client sees the response in a timely manner. [1] - commit b72a86f66c722d56a6d77ed1d2779ace6ad103ed
2011-02-10remove unnecessary &block usageEric Wong1-2/+2
They needlessly allocate Proc objects
2010-05-14add Unicorn::OobGC middlewareEric Wong1-0/+58
This middleware allows configurable out-of-band garbage collection outside of the normal request/response cycle. It offers configurable paths (to only GC on expensive actions) and intervals to limit GC frequency. It is only expected to work well with Unicorn, as it would hurt performance on single-threaded servers if they have keepalive enabled. Obviously this does not work well for multi-threaded or evented servers that serve multiple clients at once.