thinner 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/doc/Thinner.html +1 -1
- data/doc/Thinner/Client.html +1 -1
- data/doc/Thinner/CommandLine.html +1 -1
- data/doc/Thinner/Configuration.html +1 -1
- data/doc/Thinner/Purger.html +1 -1
- data/doc/_index.html +1 -1
- data/doc/file.README.html +1 -1
- data/doc/index.html +1 -1
- data/doc/method_list.html +12 -12
- data/doc/top-level-namespace.html +1 -1
- data/documentation/examples/purge.rb +1 -1
- data/documentation/index.html.erb +6 -3
- data/index.html +9 -6
- data/lib/thinner/command_line.rb +1 -1
- data/thinner.gemspec +2 -2
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/doc/Thinner.html
CHANGED
@@ -446,7 +446,7 @@ Halt any running instances of Thinner::Client
|
|
446
446
|
</div>
|
447
447
|
|
448
448
|
<div id="footer">
|
449
|
-
Generated on
|
449
|
+
Generated on Wed Nov 10 13:25:51 2010 by
|
450
450
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
451
451
|
0.6.1 (ruby-1.8.7).
|
452
452
|
</div>
|
data/doc/Thinner/Client.html
CHANGED
@@ -593,7 +593,7 @@ the process label with the first url in the list.
|
|
593
593
|
</div>
|
594
594
|
|
595
595
|
<div id="footer">
|
596
|
-
Generated on
|
596
|
+
Generated on Wed Nov 10 13:25:52 2010 by
|
597
597
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
598
598
|
0.6.1 (ruby-1.8.7).
|
599
599
|
</div>
|
@@ -282,7 +282,7 @@ to the races.
|
|
282
282
|
</div>
|
283
283
|
|
284
284
|
<div id="footer">
|
285
|
-
Generated on
|
285
|
+
Generated on Wed Nov 10 13:25:52 2010 by
|
286
286
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
287
287
|
0.6.1 (ruby-1.8.7).
|
288
288
|
</div>
|
@@ -583,7 +583,7 @@ Returns the value of attribute sleep_time
|
|
583
583
|
</div>
|
584
584
|
|
585
585
|
<div id="footer">
|
586
|
-
Generated on
|
586
|
+
Generated on Wed Nov 10 13:25:51 2010 by
|
587
587
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
588
588
|
0.6.1 (ruby-1.8.7).
|
589
589
|
</div>
|
data/doc/Thinner/Purger.html
CHANGED
@@ -424,7 +424,7 @@ double up on purge requests.
|
|
424
424
|
</div>
|
425
425
|
|
426
426
|
<div id="footer">
|
427
|
-
Generated on
|
427
|
+
Generated on Wed Nov 10 13:25:52 2010 by
|
428
428
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
429
429
|
0.6.1 (ruby-1.8.7).
|
430
430
|
</div>
|
data/doc/_index.html
CHANGED
@@ -129,7 +129,7 @@
|
|
129
129
|
</div></div>
|
130
130
|
|
131
131
|
<div id="footer">
|
132
|
-
Generated on
|
132
|
+
Generated on Wed Nov 10 13:25:51 2010 by
|
133
133
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
134
134
|
0.6.1 (ruby-1.8.7).
|
135
135
|
</div>
|
data/doc/file.README.html
CHANGED
data/doc/index.html
CHANGED
data/doc/method_list.html
CHANGED
@@ -69,9 +69,9 @@
|
|
69
69
|
|
70
70
|
|
71
71
|
<li class="r2 ">
|
72
|
-
<span class='object_link'><a href="Thinner/
|
72
|
+
<span class='object_link'><a href="Thinner/Purger.html#initialize-instance_method" title="Thinner::Purger#initialize (method)">#initialize</a></span>
|
73
73
|
|
74
|
-
<small>Thinner::
|
74
|
+
<small>Thinner::Purger</small>
|
75
75
|
|
76
76
|
</li>
|
77
77
|
|
@@ -85,9 +85,9 @@
|
|
85
85
|
|
86
86
|
|
87
87
|
<li class="r2 ">
|
88
|
-
<span class='object_link'><a href="Thinner/
|
88
|
+
<span class='object_link'><a href="Thinner/Client.html#initialize-instance_method" title="Thinner::Client#initialize (method)">#initialize</a></span>
|
89
89
|
|
90
|
-
<small>Thinner::
|
90
|
+
<small>Thinner::Client</small>
|
91
91
|
|
92
92
|
</li>
|
93
93
|
|
@@ -133,17 +133,17 @@
|
|
133
133
|
|
134
134
|
|
135
135
|
<li class="r2 ">
|
136
|
-
<span class='object_link'><a href="Thinner
|
136
|
+
<span class='object_link'><a href="Thinner.html#purge%21-class_method" title="Thinner.purge! (method)">purge!</a></span>
|
137
137
|
|
138
|
-
<small>Thinner
|
138
|
+
<small>Thinner</small>
|
139
139
|
|
140
140
|
</li>
|
141
141
|
|
142
142
|
|
143
143
|
<li class="r1 ">
|
144
|
-
<span class='object_link'><a href="Thinner.html#purge%21-
|
144
|
+
<span class='object_link'><a href="Thinner/Purger.html#purge%21-instance_method" title="Thinner::Purger#purge! (method)">#purge!</a></span>
|
145
145
|
|
146
|
-
<small>Thinner</small>
|
146
|
+
<small>Thinner::Purger</small>
|
147
147
|
|
148
148
|
</li>
|
149
149
|
|
@@ -189,17 +189,17 @@
|
|
189
189
|
|
190
190
|
|
191
191
|
<li class="r1 ">
|
192
|
-
<span class='object_link'><a href="Thinner.html#stop%21-class_method" title="Thinner.stop! (method)">stop!</a></span>
|
192
|
+
<span class='object_link'><a href="Thinner/Purger.html#stop%21-class_method" title="Thinner::Purger.stop! (method)">stop!</a></span>
|
193
193
|
|
194
|
-
<small>Thinner</small>
|
194
|
+
<small>Thinner::Purger</small>
|
195
195
|
|
196
196
|
</li>
|
197
197
|
|
198
198
|
|
199
199
|
<li class="r2 ">
|
200
|
-
<span class='object_link'><a href="Thinner
|
200
|
+
<span class='object_link'><a href="Thinner.html#stop%21-class_method" title="Thinner.stop! (method)">stop!</a></span>
|
201
201
|
|
202
|
-
<small>Thinner
|
202
|
+
<small>Thinner</small>
|
203
203
|
|
204
204
|
</li>
|
205
205
|
|
@@ -19,7 +19,7 @@ end
|
|
19
19
|
<body>
|
20
20
|
<a href="http://www.propublica.org" class="propublica"> </a>
|
21
21
|
<h1>Thinner – Version <%= File.read('VERSION') %></h1>
|
22
|
-
<p><a href="https://github.com/propublica/
|
22
|
+
<p><a href="https://github.com/propublica/thinner">Thinner</a> is a utility
|
23
23
|
for purging urls from a Varnish server.</p>
|
24
24
|
<p>When you are deploying code changes to a server under load, the uncached
|
25
25
|
load can quickly bring down your backend server even with Varnish's grace
|
@@ -28,8 +28,9 @@ end
|
|
28
28
|
<p>Thinner gives you fine-grained control over wildcard purging, and rolls
|
29
29
|
purges out slowly. Your users will see stale pages from the previous deploy
|
30
30
|
until Thinner has finished invalidating the stale cache at a rate that you set.
|
31
|
-
If you have a bunch of pages you need to invalidate en masse
|
32
|
-
|
31
|
+
If you have a bunch of pages you need to invalidate en masse and at infrequent
|
32
|
+
intervals (e.g. deploys, timed remote api updates), but don't want to
|
33
|
+
risk overloading your server, Thinner is for you.</p>
|
33
34
|
<p>All that being said, Thinner isn't really a solution for observing
|
34
35
|
model changes and purging associated urls. If you have a highly dynamic
|
35
36
|
application, it's worlds better to handle purging via a
|
@@ -58,6 +59,8 @@ end
|
|
58
59
|
the command like so:</p>
|
59
60
|
<pre>cat urls_to_purge.txt | bin/thinner -e</pre>
|
60
61
|
<h2>Change Log</h2>
|
62
|
+
<h3>0.1.1</h3>
|
63
|
+
<p>Fixed bug in command line argument parsing.</p>
|
61
64
|
<h3>0.1.0</h3>
|
62
65
|
<p>Initial release.</p>
|
63
66
|
</body>
|
data/index.html
CHANGED
@@ -3,16 +3,16 @@
|
|
3
3
|
<html>
|
4
4
|
<head>
|
5
5
|
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
6
|
-
<title>Thinner -- Version 0.1.
|
6
|
+
<title>Thinner -- Version 0.1.1
|
7
7
|
</title>
|
8
8
|
<link rel="stylesheet" type="text/css" href="documentation/css/styles.css" />
|
9
9
|
<link rel="stylesheet" type="text/css" href="documentation/css/dawn.css" />
|
10
10
|
</head>
|
11
11
|
<body>
|
12
12
|
<a href="http://www.propublica.org" class="propublica"> </a>
|
13
|
-
<h1>Thinner – Version 0.1.
|
13
|
+
<h1>Thinner – Version 0.1.1
|
14
14
|
</h1>
|
15
|
-
<p><a href="https://github.com/propublica/
|
15
|
+
<p><a href="https://github.com/propublica/thinner">Thinner</a> is a utility
|
16
16
|
for purging urls from a Varnish server.</p>
|
17
17
|
<p>When you are deploying code changes to a server under load, the uncached
|
18
18
|
load can quickly bring down your backend server even with Varnish's grace
|
@@ -21,8 +21,9 @@
|
|
21
21
|
<p>Thinner gives you fine-grained control over wildcard purging, and rolls
|
22
22
|
purges out slowly. Your users will see stale pages from the previous deploy
|
23
23
|
until Thinner has finished invalidating the stale cache at a rate that you set.
|
24
|
-
If you have a bunch of pages you need to invalidate en masse
|
25
|
-
|
24
|
+
If you have a bunch of pages you need to invalidate en masse and at infrequent
|
25
|
+
intervals (e.g. deploys, timed remote api updates), but don't want to
|
26
|
+
risk overloading your server, Thinner is for you.</p>
|
26
27
|
<p>All that being said, Thinner isn't really a solution for observing
|
27
28
|
model changes and purging associated urls. If you have a highly dynamic
|
28
29
|
application, it's worlds better to handle purging via a
|
@@ -66,7 +67,7 @@
|
|
66
67
|
an array of urls:</p>
|
67
68
|
<pre class="dawn"><span class="Comment"><span class="Comment">#</span> The urls in this array are purged in order, so you'll want to structure it</span>
|
68
69
|
<span class="Comment"><span class="Comment">#</span> according to usage.</span>
|
69
|
-
arr <span class="Keyword"><<</span> ["/some_route"<span class="PunctuationSeparator">,</span> "/"]
|
70
|
+
arr <span class="Keyword"><<</span> ["/some_route"<span class="PunctuationSeparator">,</span> "/some_route/with.*"<span class="PunctuationSeparator">,</span> "/"]
|
70
71
|
|
71
72
|
<span class="Support">Thinner</span><span class="PunctuationSeparator">.</span><span class="Entity">purge!</span> arr
|
72
73
|
</pre>
|
@@ -81,6 +82,8 @@ arr <span class="Keyword"><<</span> ["/some_route"<span class="P
|
|
81
82
|
the command like so:</p>
|
82
83
|
<pre>cat urls_to_purge.txt | bin/thinner -e</pre>
|
83
84
|
<h2>Change Log</h2>
|
85
|
+
<h3>0.1.1</h3>
|
86
|
+
<p>Fixed bug in command line argument parsing.</p>
|
84
87
|
<h3>0.1.0</h3>
|
85
88
|
<p>Initial release.</p>
|
86
89
|
</body>
|
data/lib/thinner/command_line.rb
CHANGED
@@ -18,7 +18,6 @@ EOF
|
|
18
18
|
# Create a Thinner::CommandLine, parse any associated options, grab a list
|
19
19
|
# of urls and start the process
|
20
20
|
def initialize
|
21
|
-
@urls = []
|
22
21
|
options!
|
23
22
|
@urls ||= ARGV
|
24
23
|
run!
|
@@ -48,6 +47,7 @@ EOF
|
|
48
47
|
@options[:sleep_time] = t.to_i
|
49
48
|
end
|
50
49
|
opts.on("-e", "--stdin", "Use stdin for urls") do
|
50
|
+
@urls = []
|
51
51
|
ARGF.each_line do |url|
|
52
52
|
@urls << url.chomp
|
53
53
|
end
|
data/thinner.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{thinner}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jeff Larson"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-19}
|
13
13
|
s.default_executable = %q{thinner}
|
14
14
|
s.description = %q{Thinner takes a list of urls or newline seperated stdin and purges them from Varnish.}
|
15
15
|
s.email = %q{thejefflarson@gmail.com}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thinner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jeff Larson
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-11-
|
18
|
+
date: 2010-11-19 00:00:00 -05:00
|
19
19
|
default_executable: thinner
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|