thinner 0.1.0
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/.document +5 -0
- data/.gitignore +21 -0
- data/LICENSE +20 -0
- data/README +17 -0
- data/Rakefile +64 -0
- data/VERSION +1 -0
- data/bin/thinner +4 -0
- data/doc/Thinner/Client.html +602 -0
- data/doc/Thinner/CommandLine.html +291 -0
- data/doc/Thinner/Configuration.html +592 -0
- data/doc/Thinner/Purger.html +433 -0
- data/doc/Thinner.html +455 -0
- data/doc/_index.html +138 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +307 -0
- data/doc/file.README.html +71 -0
- data/doc/file_list.html +38 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +71 -0
- data/doc/js/app.js +202 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/method_list.html +211 -0
- data/doc/top-level-namespace.html +88 -0
- data/documentation/css/dawn.css +121 -0
- data/documentation/css/styles.css +53 -0
- data/documentation/examples/configure.rb +25 -0
- data/documentation/examples/purge.rb +5 -0
- data/documentation/images/proplogo.png +0 -0
- data/documentation/index.html.erb +64 -0
- data/index.html +87 -0
- data/lib/thinner/client.rb +88 -0
- data/lib/thinner/command_line.rb +80 -0
- data/lib/thinner/configuration.rb +37 -0
- data/lib/thinner/purger.rb +46 -0
- data/lib/thinner.rb +37 -0
- data/test/helper.rb +10 -0
- data/test/test_thinner.rb +32 -0
- data/thinner.gemspec +90 -0
- metadata +138 -0
@@ -0,0 +1,602 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta name="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Class: Thinner::Client</title>
|
7
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
9
|
+
|
10
|
+
<script type="text/javascript" charset="utf-8">
|
11
|
+
relpath = '..';
|
12
|
+
if (relpath != '') relpath += '/';
|
13
|
+
</script>
|
14
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
15
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
<script type="text/javascript" charset="utf-8">
|
20
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<div id="header">
|
24
|
+
<div id="menu">
|
25
|
+
|
26
|
+
<a href="../_index.html">Index (C)</a> »
|
27
|
+
<span class='title'><span class='object_link'><a href="../Thinner.html" title="Thinner (module)">Thinner</a></span></span>
|
28
|
+
»
|
29
|
+
<span class="title">Client</span>
|
30
|
+
|
31
|
+
|
32
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="search">
|
36
|
+
<a id="class_list_link" href="#">Class List</a>
|
37
|
+
<a id="method_list_link" href="#">Method List</a>
|
38
|
+
<a id ="file_list_link" href="#">File List</a>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="clear"></div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<iframe id="search_frame"></iframe>
|
45
|
+
|
46
|
+
<div id="content"><h1>Class: Thinner::Client
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
</h1>
|
51
|
+
|
52
|
+
<dl class="box">
|
53
|
+
|
54
|
+
<dt class="r1">Inherits:</dt>
|
55
|
+
<dd class="r1">
|
56
|
+
<span class="inheritName">Object</span>
|
57
|
+
|
58
|
+
<ul class="fullTree">
|
59
|
+
<li>Object</li>
|
60
|
+
|
61
|
+
<li class="next">Thinner::Client</li>
|
62
|
+
|
63
|
+
</ul>
|
64
|
+
<a href="#" class="inheritanceTree">show all</a>
|
65
|
+
|
66
|
+
</dd>
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
<dt class="r2 last">Defined in:</dt>
|
77
|
+
<dd class="r2 last">lib/thinner/client.rb</dd>
|
78
|
+
|
79
|
+
</dl>
|
80
|
+
<div class="clear"></div>
|
81
|
+
|
82
|
+
<h2>Overview</h2><div class="docstring">
|
83
|
+
<div class="discussion">
|
84
|
+
<p>
|
85
|
+
A Thinner::Client runs as a background process and purges a list of urls in
|
86
|
+
batches.
|
87
|
+
</p>
|
88
|
+
|
89
|
+
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
<div class="tags">
|
93
|
+
|
94
|
+
</div>
|
95
|
+
<h2>Constant Summary</h2>
|
96
|
+
|
97
|
+
<dl class="constants">
|
98
|
+
|
99
|
+
<dt id="ERRORS-constant" class="">ERRORS =
|
100
|
+
<div class="docstring">
|
101
|
+
<div class="discussion">
|
102
|
+
<p>
|
103
|
+
The list of Errors we want to catch.
|
104
|
+
</p>
|
105
|
+
|
106
|
+
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
<div class="tags">
|
110
|
+
|
111
|
+
</div>
|
112
|
+
</dt>
|
113
|
+
<dd><pre class="code"><span class='lbrack token'>[</span><span class='Varnish constant id'>Varnish</span><span class='colon2 op'>::</span><span class='Error constant id'>Error</span><span class='comma token'>,</span> <span class='Varnish constant id'>Varnish</span><span class='colon2 op'>::</span><span class='BrokenConnection constant id'>BrokenConnection</span><span class='comma token'>,</span> <span class='Varnish constant id'>Varnish</span><span class='colon2 op'>::</span><span class='CommandFailed constant id'>CommandFailed</span><span class='comma token'>,</span> <span class='Timeout constant id'>Timeout</span><span class='colon2 op'>::</span><span class='Error constant id'>Error</span><span class='comma token'>,</span> <span class='Errno constant id'>Errno</span><span class='colon2 op'>::</span><span class='ECONNREFUSED constant id'>ECONNREFUSED</span><span class='rbrack token'>]</span>
|
114
|
+
</pre></dd>
|
115
|
+
|
116
|
+
</dl>
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
121
|
+
<ul class="summary">
|
122
|
+
|
123
|
+
<li class="public ">
|
124
|
+
<span class="summary_signature">
|
125
|
+
|
126
|
+
<a href="#purged_urls-instance_method" title="#purged_urls (instance method)">- (Object) <strong>purged_urls</strong> </a>
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
</span>
|
131
|
+
|
132
|
+
|
133
|
+
<span class="note title readonly">readonly</span>
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
<span class="summary_desc"><div class='inline'><p>
|
143
|
+
A list of successfully purged urls.
|
144
|
+
</p>
|
145
|
+
</div></span>
|
146
|
+
|
147
|
+
</li>
|
148
|
+
|
149
|
+
|
150
|
+
</ul>
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
<h2>
|
155
|
+
Instance Method Summary
|
156
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
157
|
+
</h2>
|
158
|
+
|
159
|
+
<ul class="summary">
|
160
|
+
|
161
|
+
<li class="public ">
|
162
|
+
<span class="summary_signature">
|
163
|
+
|
164
|
+
<a href="#close_log-instance_method" title="#close_log (instance method)">- (Object) <strong>close_log</strong> </a>
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
</span>
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
<span class="summary_desc"><div class='inline'><p>
|
178
|
+
Log the purged urls and exit the process.
|
179
|
+
</p>
|
180
|
+
</div></span>
|
181
|
+
|
182
|
+
</li>
|
183
|
+
|
184
|
+
|
185
|
+
<li class="public ">
|
186
|
+
<span class="summary_signature">
|
187
|
+
|
188
|
+
<a href="#handle_errors-instance_method" title="#handle_errors (instance method)">- (Object) <strong>handle_errors</strong> </a>
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
</span>
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
<span class="summary_desc"><div class='inline'><p>
|
202
|
+
Trap certain signals so the Client can report back the progress of the job
|
203
|
+
and close the log.
|
204
|
+
</p>
|
205
|
+
</div></span>
|
206
|
+
|
207
|
+
</li>
|
208
|
+
|
209
|
+
|
210
|
+
<li class="public ">
|
211
|
+
<span class="summary_signature">
|
212
|
+
|
213
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Client) <strong>initialize</strong>(urls) </a>
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
</span>
|
218
|
+
|
219
|
+
<span class="note title constructor">constructor</span>
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
<span class="summary_desc"><div class='inline'><p>
|
229
|
+
Before purging, each Thinner::Client grabs various configuration settings
|
230
|
+
and makes a copy of the passed in urls.
|
231
|
+
</p>
|
232
|
+
</div></span>
|
233
|
+
|
234
|
+
</li>
|
235
|
+
|
236
|
+
|
237
|
+
<li class="public ">
|
238
|
+
<span class="summary_signature">
|
239
|
+
|
240
|
+
<a href="#logger-instance_method" title="#logger (instance method)">- (Object) <strong>logger</strong> </a>
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
</span>
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
<span class="summary_desc"><div class='inline'><p>
|
254
|
+
The logger redirects all STDOUT writes to a logger instance.
|
255
|
+
</p>
|
256
|
+
</div></span>
|
257
|
+
|
258
|
+
</li>
|
259
|
+
|
260
|
+
|
261
|
+
<li class="public ">
|
262
|
+
<span class="summary_signature">
|
263
|
+
|
264
|
+
<a href="#run%21-instance_method" title="#run! (instance method)">- (Object) <strong>run!</strong> </a>
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
</span>
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
<span class="summary_desc"><div class='inline'><p>
|
278
|
+
Kickstart the purging process and loop through the array until there
|
279
|
+
aren’t any urls left to purge.
|
280
|
+
</p>
|
281
|
+
</div></span>
|
282
|
+
|
283
|
+
</li>
|
284
|
+
|
285
|
+
|
286
|
+
</ul>
|
287
|
+
|
288
|
+
|
289
|
+
<div id="constructor_details" class="method_details_list">
|
290
|
+
<h2>Constructor Details</h2>
|
291
|
+
|
292
|
+
<div class="method_details first">
|
293
|
+
<p class="signature first" id="initialize-instance_method">
|
294
|
+
|
295
|
+
- (<tt><span class='object_link'><a href="" title="Thinner::Client (class)">Client</a></span></tt>) <strong>initialize</strong>(urls)
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
</p><div class="docstring">
|
300
|
+
<div class="discussion">
|
301
|
+
<p>
|
302
|
+
Before purging, each Thinner::Client grabs various configuration settings
|
303
|
+
and makes a copy of the passed in urls.
|
304
|
+
</p>
|
305
|
+
|
306
|
+
|
307
|
+
</div>
|
308
|
+
</div>
|
309
|
+
<div class="tags">
|
310
|
+
|
311
|
+
</div><table class="source_code">
|
312
|
+
<tr>
|
313
|
+
<td>
|
314
|
+
<pre class="lines">
|
315
|
+
|
316
|
+
|
317
|
+
17
|
318
|
+
18
|
319
|
+
19
|
320
|
+
20
|
321
|
+
21
|
322
|
+
22
|
323
|
+
23
|
324
|
+
24
|
325
|
+
25
|
326
|
+
26
|
327
|
+
27</pre>
|
328
|
+
</td>
|
329
|
+
<td>
|
330
|
+
<pre class="code"><span class="info file"># File 'lib/thinner/client.rb', line 17</span>
|
331
|
+
|
332
|
+
<span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='urls identifier id'>urls</span><span class='rparen token'>)</span>
|
333
|
+
<span class='@batch ivar id'>@batch</span> <span class='assign token'>=</span> <span class='Thinner constant id'>Thinner</span><span class='dot token'>.</span><span class='configuration identifier id'>configuration</span><span class='dot token'>.</span><span class='batch_length identifier id'>batch_length</span>
|
334
|
+
<span class='@timeout ivar id'>@timeout</span> <span class='assign token'>=</span> <span class='Thinner constant id'>Thinner</span><span class='dot token'>.</span><span class='configuration identifier id'>configuration</span><span class='dot token'>.</span><span class='sleep_time identifier id'>sleep_time</span>
|
335
|
+
<span class='@varnish ivar id'>@varnish</span> <span class='assign token'>=</span> <span class='Varnish constant id'>Varnish</span><span class='colon2 op'>::</span><span class='Client constant id'>Client</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='Thinner constant id'>Thinner</span><span class='dot token'>.</span><span class='configuration identifier id'>configuration</span><span class='dot token'>.</span><span class='server identifier id'>server</span>
|
336
|
+
<span class='@log_file ivar id'>@log_file</span> <span class='assign token'>=</span> <span class='Thinner constant id'>Thinner</span><span class='dot token'>.</span><span class='configuration identifier id'>configuration</span><span class='dot token'>.</span><span class='log_file identifier id'>log_file</span>
|
337
|
+
<span class='@purged_urls ivar id'>@purged_urls</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
|
338
|
+
<span class='@urls ivar id'>@urls</span> <span class='assign token'>=</span> <span class='Array constant id'>Array</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='urls identifier id'>urls</span>
|
339
|
+
<span class='@length ivar id'>@length</span> <span class='assign token'>=</span> <span class='@urls ivar id'>@urls</span><span class='dot token'>.</span><span class='length identifier id'>length</span>
|
340
|
+
<span class='logger identifier id'>logger</span>
|
341
|
+
<span class='handle_errors identifier id'>handle_errors</span>
|
342
|
+
<span class='end end kw'>end</span>
|
343
|
+
</pre>
|
344
|
+
</td>
|
345
|
+
</tr>
|
346
|
+
</table>
|
347
|
+
</div>
|
348
|
+
|
349
|
+
</div>
|
350
|
+
|
351
|
+
<div id="instance_attr_details" class="attr_details">
|
352
|
+
<h2>Instance Attribute Details</h2>
|
353
|
+
|
354
|
+
|
355
|
+
<span id=""></span>
|
356
|
+
<span id="purged_urls-instance_method"></span>
|
357
|
+
<div class="method_details first">
|
358
|
+
<p class="signature first" id="purged_urls-instance_method">
|
359
|
+
|
360
|
+
- (<tt>Object</tt>) <strong>purged_urls</strong> <span class="extras">(readonly)</span>
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
</p><div class="docstring">
|
365
|
+
<div class="discussion">
|
366
|
+
<p>
|
367
|
+
A list of successfully purged urls.
|
368
|
+
</p>
|
369
|
+
|
370
|
+
|
371
|
+
</div>
|
372
|
+
</div>
|
373
|
+
<div class="tags">
|
374
|
+
|
375
|
+
</div><table class="source_code">
|
376
|
+
<tr>
|
377
|
+
<td>
|
378
|
+
<pre class="lines">
|
379
|
+
|
380
|
+
|
381
|
+
10
|
382
|
+
11
|
383
|
+
12</pre>
|
384
|
+
</td>
|
385
|
+
<td>
|
386
|
+
<pre class="code"><span class="info file"># File 'lib/thinner/client.rb', line 10</span>
|
387
|
+
|
388
|
+
<span class='def def kw'>def</span> <span class='purged_urls identifier id'>purged_urls</span>
|
389
|
+
<span class='@purged_urls ivar id'>@purged_urls</span>
|
390
|
+
<span class='end end kw'>end</span>
|
391
|
+
</pre>
|
392
|
+
</td>
|
393
|
+
</tr>
|
394
|
+
</table>
|
395
|
+
</div>
|
396
|
+
|
397
|
+
</div>
|
398
|
+
|
399
|
+
|
400
|
+
<div id="instance_method_details" class="method_details_list">
|
401
|
+
<h2>Instance Method Details</h2>
|
402
|
+
|
403
|
+
|
404
|
+
<div class="method_details first">
|
405
|
+
<p class="signature first" id="close_log-instance_method">
|
406
|
+
|
407
|
+
- (<tt>Object</tt>) <strong>close_log</strong>
|
408
|
+
|
409
|
+
|
410
|
+
|
411
|
+
</p><div class="docstring">
|
412
|
+
<div class="discussion">
|
413
|
+
<p>
|
414
|
+
Log the purged urls and exit the process.
|
415
|
+
</p>
|
416
|
+
|
417
|
+
|
418
|
+
</div>
|
419
|
+
</div>
|
420
|
+
<div class="tags">
|
421
|
+
|
422
|
+
</div><table class="source_code">
|
423
|
+
<tr>
|
424
|
+
<td>
|
425
|
+
<pre class="lines">
|
426
|
+
|
427
|
+
|
428
|
+
81
|
429
|
+
82
|
430
|
+
83
|
431
|
+
84</pre>
|
432
|
+
</td>
|
433
|
+
<td>
|
434
|
+
<pre class="code"><span class="info file"># File 'lib/thinner/client.rb', line 81</span>
|
435
|
+
|
436
|
+
<span class='def def kw'>def</span> <span class='close_log identifier id'>close_log</span>
|
437
|
+
<span class='@logger ivar id'>@logger</span><span class='dot token'>.</span><span class='info identifier id'>info</span> <span class='dstring node'>"Purged #{@purged_urls.length} of #{@length} urls."</span>
|
438
|
+
<span class='@logger ivar id'>@logger</span><span class='dot token'>.</span><span class='info identifier id'>info</span> <span class='string val'>"Exiting..."</span>
|
439
|
+
<span class='end end kw'>end</span>
|
440
|
+
</pre>
|
441
|
+
</td>
|
442
|
+
</tr>
|
443
|
+
</table>
|
444
|
+
</div>
|
445
|
+
|
446
|
+
<div class="method_details ">
|
447
|
+
<p class="signature " id="handle_errors-instance_method">
|
448
|
+
|
449
|
+
- (<tt>Object</tt>) <strong>handle_errors</strong>
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
</p><div class="docstring">
|
454
|
+
<div class="discussion">
|
455
|
+
<p>
|
456
|
+
Trap certain signals so the Client can report back the progress of the job
|
457
|
+
and close the log.
|
458
|
+
</p>
|
459
|
+
|
460
|
+
|
461
|
+
</div>
|
462
|
+
</div>
|
463
|
+
<div class="tags">
|
464
|
+
|
465
|
+
</div><table class="source_code">
|
466
|
+
<tr>
|
467
|
+
<td>
|
468
|
+
<pre class="lines">
|
469
|
+
|
470
|
+
|
471
|
+
66
|
472
|
+
67
|
473
|
+
68
|
474
|
+
69
|
475
|
+
70</pre>
|
476
|
+
</td>
|
477
|
+
<td>
|
478
|
+
<pre class="code"><span class="info file"># File 'lib/thinner/client.rb', line 66</span>
|
479
|
+
|
480
|
+
<span class='def def kw'>def</span> <span class='handle_errors identifier id'>handle_errors</span>
|
481
|
+
<span class='trap identifier id'>trap</span><span class='lparen token'>(</span><span class='string val'>'TERM'</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='close_log identifier id'>close_log</span> <span class='rbrace token'>}</span>
|
482
|
+
<span class='trap identifier id'>trap</span><span class='lparen token'>(</span><span class='string val'>'KILL'</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='close_log identifier id'>close_log</span> <span class='rbrace token'>}</span>
|
483
|
+
<span class='trap identifier id'>trap</span><span class='lparen token'>(</span><span class='string val'>'INT'</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='close_log identifier id'>close_log</span> <span class='rbrace token'>}</span>
|
484
|
+
<span class='end end kw'>end</span>
|
485
|
+
</pre>
|
486
|
+
</td>
|
487
|
+
</tr>
|
488
|
+
</table>
|
489
|
+
</div>
|
490
|
+
|
491
|
+
<div class="method_details ">
|
492
|
+
<p class="signature " id="logger-instance_method">
|
493
|
+
|
494
|
+
- (<tt>Object</tt>) <strong>logger</strong>
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
</p><div class="docstring">
|
499
|
+
<div class="discussion">
|
500
|
+
<p>
|
501
|
+
The logger redirects all STDOUT writes to a logger instance.
|
502
|
+
</p>
|
503
|
+
|
504
|
+
|
505
|
+
</div>
|
506
|
+
</div>
|
507
|
+
<div class="tags">
|
508
|
+
|
509
|
+
</div><table class="source_code">
|
510
|
+
<tr>
|
511
|
+
<td>
|
512
|
+
<pre class="lines">
|
513
|
+
|
514
|
+
|
515
|
+
73
|
516
|
+
74
|
517
|
+
75
|
518
|
+
76
|
519
|
+
77
|
520
|
+
78</pre>
|
521
|
+
</td>
|
522
|
+
<td>
|
523
|
+
<pre class="code"><span class="info file"># File 'lib/thinner/client.rb', line 73</span>
|
524
|
+
|
525
|
+
<span class='def def kw'>def</span> <span class='logger identifier id'>logger</span>
|
526
|
+
<span class='if if kw'>if</span> <span class='notop op'>!</span><span class='@log_file ivar id'>@log_file</span><span class='dot token'>.</span><span class='respond_to? fid id'>respond_to?</span><span class='lparen token'>(</span><span class='symbol val'>:write</span><span class='rparen token'>)</span>
|
527
|
+
<span class='STDOUT constant id'>STDOUT</span><span class='dot token'>.</span><span class='reopen identifier id'>reopen</span><span class='lparen token'>(</span><span class='File constant id'>File</span><span class='dot token'>.</span><span class='open identifier id'>open</span><span class='lparen token'>(</span><span class='@log_file ivar id'>@log_file</span><span class='comma token'>,</span> <span class='lparen token'>(</span><span class='File constant id'>File</span><span class='colon2 op'>::</span><span class='WRONLY constant id'>WRONLY</span> <span class='bitor op'>|</span> <span class='File constant id'>File</span><span class='colon2 op'>::</span><span class='APPEND constant id'>APPEND</span> <span class='bitor op'>|</span> <span class='File constant id'>File</span><span class='colon2 op'>::</span><span class='CREAT constant id'>CREAT</span><span class='rparen token'>)</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
528
|
+
<span class='end end kw'>end</span>
|
529
|
+
<span class='@logger ivar id'>@logger</span> <span class='assign token'>=</span> <span class='Logger constant id'>Logger</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='STDOUT constant id'>STDOUT</span><span class='rparen token'>)</span>
|
530
|
+
<span class='end end kw'>end</span>
|
531
|
+
</pre>
|
532
|
+
</td>
|
533
|
+
</tr>
|
534
|
+
</table>
|
535
|
+
</div>
|
536
|
+
|
537
|
+
<div class="method_details ">
|
538
|
+
<p class="signature " id="run!-instance_method">
|
539
|
+
|
540
|
+
- (<tt>Object</tt>) <strong>run!</strong>
|
541
|
+
|
542
|
+
|
543
|
+
|
544
|
+
</p><div class="docstring">
|
545
|
+
<div class="discussion">
|
546
|
+
<p>
|
547
|
+
Kickstart the purging process and loop through the array until there
|
548
|
+
aren’t any urls left to purge. Each time the loop runs it will update
|
549
|
+
the process label with the first url in the list.
|
550
|
+
</p>
|
551
|
+
|
552
|
+
|
553
|
+
</div>
|
554
|
+
</div>
|
555
|
+
<div class="tags">
|
556
|
+
|
557
|
+
</div><table class="source_code">
|
558
|
+
<tr>
|
559
|
+
<td>
|
560
|
+
<pre class="lines">
|
561
|
+
|
562
|
+
|
563
|
+
32
|
564
|
+
33
|
565
|
+
34
|
566
|
+
35
|
567
|
+
36
|
568
|
+
37
|
569
|
+
38
|
570
|
+
39
|
571
|
+
40</pre>
|
572
|
+
</td>
|
573
|
+
<td>
|
574
|
+
<pre class="code"><span class="info file"># File 'lib/thinner/client.rb', line 32</span>
|
575
|
+
|
576
|
+
<span class='def def kw'>def</span> <span class='run! fid id'>run!</span>
|
577
|
+
<span class='while while kw'>while</span> <span class='@urls ivar id'>@urls</span><span class='dot token'>.</span><span class='length identifier id'>length</span> <span class='gt op'>></span> <span class='integer val'>0</span>
|
578
|
+
<span class='@current_job ivar id'>@current_job</span> <span class='assign token'>=</span> <span class='@urls ivar id'>@urls</span><span class='dot token'>.</span><span class='slice! fid id'>slice!</span> <span class='integer val'>0</span><span class='comma token'>,</span> <span class='@batch ivar id'>@batch</span>
|
579
|
+
<span class='$0 gvar id'>$0</span> <span class='assign token'>=</span> <span class='dstring node'>"#{PROCESS_IDENTIFIER}: purging #{@current_job.first}"</span>
|
580
|
+
<span class='purge_urls identifier id'>purge_urls</span>
|
581
|
+
<span class='sleep identifier id'>sleep</span> <span class='@timeout ivar id'>@timeout</span>
|
582
|
+
<span class='end end kw'>end</span>
|
583
|
+
<span class='close_log identifier id'>close_log</span>
|
584
|
+
<span class='end end kw'>end</span>
|
585
|
+
</pre>
|
586
|
+
</td>
|
587
|
+
</tr>
|
588
|
+
</table>
|
589
|
+
</div>
|
590
|
+
|
591
|
+
</div>
|
592
|
+
|
593
|
+
</div>
|
594
|
+
|
595
|
+
<div id="footer">
|
596
|
+
Generated on Tue Nov 2 14:25:50 2010 by
|
597
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
598
|
+
0.6.1 (ruby-1.8.7).
|
599
|
+
</div>
|
600
|
+
|
601
|
+
</body>
|
602
|
+
</html>
|