isimud 0.7.0 → 1.3.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rspec +1 -2
- data/.ruby-version +1 -1
- data/.yardoc/checksums +10 -10
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/Gemfile +2 -1
- data/Gemfile.lock +63 -73
- data/LICENSE.txt +19 -0
- data/README.md +51 -3
- data/Rakefile +5 -0
- data/doc/Isimud/BunnyClient.html +882 -179
- data/doc/Isimud/Client.html +236 -18
- data/doc/Isimud/Event.html +211 -95
- data/doc/Isimud/EventListener.html +325 -307
- data/doc/Isimud/EventObserver/ClassMethods.html +14 -14
- data/doc/Isimud/EventObserver.html +418 -36
- data/doc/Isimud/Generators/ConfigGenerator.html +2 -2
- data/doc/Isimud/Generators/InitializerGenerator.html +2 -2
- data/doc/Isimud/Generators.html +2 -2
- data/doc/Isimud/Logging.html +3 -3
- data/doc/Isimud/ModelWatcher/ClassMethods.html +3 -3
- data/doc/Isimud/ModelWatcher.html +2 -2
- data/doc/Isimud/Railtie.html +2 -2
- data/doc/Isimud/TestClient/Queue.html +374 -71
- data/doc/Isimud/TestClient.html +169 -161
- data/doc/Isimud.html +80 -76
- data/doc/_index.html +5 -2
- data/doc/file.LICENSE.html +73 -0
- data/doc/file.README.html +131 -7
- data/doc/file_list.html +3 -0
- data/doc/index.html +131 -7
- data/doc/method_list.html +183 -105
- data/doc/top-level-namespace.html +2 -2
- data/isimud.gemspec +18 -16
- data/lib/isimud/bunny_client.rb +85 -32
- data/lib/isimud/client.rb +23 -7
- data/lib/isimud/event.rb +11 -14
- data/lib/isimud/event_listener.rb +123 -65
- data/lib/isimud/event_observer.rb +70 -10
- data/lib/isimud/model_watcher.rb +1 -1
- data/lib/isimud/test_client.rb +54 -26
- data/lib/isimud/version.rb +1 -1
- data/lib/isimud.rb +1 -1
- data/spec/internal/app/models/company.rb +8 -10
- data/spec/internal/app/models/user.rb +11 -1
- data/spec/internal/db/schema.rb +5 -0
- data/spec/isimud/bunny_client_spec.rb +21 -9
- data/spec/isimud/client_spec.rb +40 -0
- data/spec/isimud/event_listener_spec.rb +50 -22
- data/spec/isimud/event_observer_spec.rb +107 -16
- data/spec/isimud/model_watcher_spec.rb +18 -23
- data/spec/isimud/test_client_spec.rb +43 -8
- data/spec/isimud_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -0
- metadata +19 -35
- checksums.yaml.gz.sig +0 -0
- data/certs/gfeil.pem +0 -21
- data/release +0 -31
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -2
data/doc/Isimud/BunnyClient.html
CHANGED
@@ -101,7 +101,25 @@
|
|
101
101
|
</dl>
|
102
102
|
<div class="clear"></div>
|
103
103
|
|
104
|
+
<h2>Overview</h2><div class="docstring">
|
105
|
+
<div class="discussion">
|
106
|
+
|
107
|
+
<p>Interface for Bunny RabbitMQ client</p>
|
108
|
+
|
109
|
+
|
110
|
+
</div>
|
111
|
+
</div>
|
112
|
+
<div class="tags">
|
113
|
+
|
104
114
|
|
115
|
+
<p class="tag_title">See Also:</p>
|
116
|
+
<ul class="see">
|
117
|
+
|
118
|
+
<li><a href="http://rubybunny.info" target="_parent" title="http://rubybunny.info">http://rubybunny.info</a></li>
|
119
|
+
|
120
|
+
</ul>
|
121
|
+
|
122
|
+
</div>
|
105
123
|
<h2>Constant Summary</h2>
|
106
124
|
|
107
125
|
<dl class="constants">
|
@@ -170,7 +188,7 @@
|
|
170
188
|
<li class="public ">
|
171
189
|
<span class="summary_signature">
|
172
190
|
|
173
|
-
<a href="#bind-instance_method" title="#bind (instance method)">- (
|
191
|
+
<a href="#bind-instance_method" title="#bind (instance method)">- (Bunny::Consumer) <strong>bind</strong>(queue_name, exchange_name, *routing_keys) {|payload| ... }</a>
|
174
192
|
|
175
193
|
|
176
194
|
|
@@ -184,7 +202,10 @@
|
|
184
202
|
|
185
203
|
|
186
204
|
|
187
|
-
<span class="summary_desc"><div class='inline'
|
205
|
+
<span class="summary_desc"><div class='inline'>
|
206
|
+
<p>Convenience method that finds or creates a named queue, binds to an
|
207
|
+
exchange, and subscribes to messages.</p>
|
208
|
+
</div></span>
|
188
209
|
|
189
210
|
</li>
|
190
211
|
|
@@ -192,7 +213,7 @@
|
|
192
213
|
<li class="public ">
|
193
214
|
<span class="summary_signature">
|
194
215
|
|
195
|
-
<a href="#channel-instance_method" title="#channel (instance method)">- (
|
216
|
+
<a href="#channel-instance_method" title="#channel (instance method)">- (Bunny::Channel) <strong>channel</strong> </a>
|
196
217
|
|
197
218
|
|
198
219
|
|
@@ -206,7 +227,10 @@
|
|
206
227
|
|
207
228
|
|
208
229
|
|
209
|
-
<span class="summary_desc"><div class='inline'
|
230
|
+
<span class="summary_desc"><div class='inline'>
|
231
|
+
<p>Open a new, thread-specific AMQP connection channel, or return the current
|
232
|
+
channel for this thread if it exists and is currently open.</p>
|
233
|
+
</div></span>
|
210
234
|
|
211
235
|
</li>
|
212
236
|
|
@@ -228,7 +252,9 @@
|
|
228
252
|
|
229
253
|
|
230
254
|
|
231
|
-
<span class="summary_desc"><div class='inline'
|
255
|
+
<span class="summary_desc"><div class='inline'>
|
256
|
+
<p>Close the AMQP connection and clear it from the instance.</p>
|
257
|
+
</div></span>
|
232
258
|
|
233
259
|
</li>
|
234
260
|
|
@@ -236,7 +262,7 @@
|
|
236
262
|
<li class="public ">
|
237
263
|
<span class="summary_signature">
|
238
264
|
|
239
|
-
<a href="#connected%3F-instance_method" title="#connected? (instance method)">- (Boolean) <strong>connected?</strong> </a>
|
265
|
+
<a href="#connected%3F-instance_method" title="#connected? (instance method)">- (Boolean<sup>?</sup>) <strong>connected?</strong> </a>
|
240
266
|
|
241
267
|
|
242
268
|
|
@@ -250,7 +276,10 @@
|
|
250
276
|
|
251
277
|
|
252
278
|
|
253
|
-
<span class="summary_desc"><div class='inline'
|
279
|
+
<span class="summary_desc"><div class='inline'>
|
280
|
+
<p>Determine if a Bunny connection is currently established to the AMQP
|
281
|
+
server.</p>
|
282
|
+
</div></span>
|
254
283
|
|
255
284
|
</li>
|
256
285
|
|
@@ -258,7 +287,7 @@
|
|
258
287
|
<li class="public ">
|
259
288
|
<span class="summary_signature">
|
260
289
|
|
261
|
-
<a href="#connection-instance_method" title="#connection (instance method)">- (
|
290
|
+
<a href="#connection-instance_method" title="#connection (instance method)">- (Bunny::Session) <strong>connection</strong> </a>
|
262
291
|
|
263
292
|
|
264
293
|
|
@@ -274,7 +303,10 @@
|
|
274
303
|
|
275
304
|
|
276
305
|
|
277
|
-
<span class="summary_desc"><div class='inline'
|
306
|
+
<span class="summary_desc"><div class='inline'>
|
307
|
+
<p>Establish a connection to the AMQP server, or return the current connection
|
308
|
+
if one already exists.</p>
|
309
|
+
</div></span>
|
278
310
|
|
279
311
|
</li>
|
280
312
|
|
@@ -282,7 +314,7 @@
|
|
282
314
|
<li class="public ">
|
283
315
|
<span class="summary_signature">
|
284
316
|
|
285
|
-
<a href="#create_queue-instance_method" title="#create_queue (instance method)">- (
|
317
|
+
<a href="#create_queue-instance_method" title="#create_queue (instance method)">- (Bunny::Queue) <strong>create_queue</strong>(queue_name, exchange_name, options = {}) </a>
|
286
318
|
|
287
319
|
|
288
320
|
|
@@ -296,7 +328,9 @@
|
|
296
328
|
|
297
329
|
|
298
330
|
|
299
|
-
<span class="summary_desc"><div class='inline'
|
331
|
+
<span class="summary_desc"><div class='inline'>
|
332
|
+
<p>Find or create a named queue and bind it to the specified exchange.</p>
|
333
|
+
</div></span>
|
300
334
|
|
301
335
|
</li>
|
302
336
|
|
@@ -304,7 +338,7 @@
|
|
304
338
|
<li class="public ">
|
305
339
|
<span class="summary_signature">
|
306
340
|
|
307
|
-
<a href="#delete_queue-instance_method" title="#delete_queue (instance method)">- (
|
341
|
+
<a href="#delete_queue-instance_method" title="#delete_queue (instance method)">- (AMQ::Protocol::Queue::DeleteOk) <strong>delete_queue</strong>(queue_name) </a>
|
308
342
|
|
309
343
|
|
310
344
|
|
@@ -318,7 +352,9 @@
|
|
318
352
|
|
319
353
|
|
320
354
|
|
321
|
-
<span class="summary_desc"><div class='inline'
|
355
|
+
<span class="summary_desc"><div class='inline'>
|
356
|
+
<p>Permanently delete the queue from the AMQP server.</p>
|
357
|
+
</div></span>
|
322
358
|
|
323
359
|
</li>
|
324
360
|
|
@@ -326,7 +362,7 @@
|
|
326
362
|
<li class="public ">
|
327
363
|
<span class="summary_signature">
|
328
364
|
|
329
|
-
<a href="#
|
365
|
+
<a href="#find_queue-instance_method" title="#find_queue (instance method)">- (Object) <strong>find_queue</strong>(queue_name, options = {durable: true}) </a>
|
330
366
|
|
331
367
|
|
332
368
|
|
@@ -340,7 +376,9 @@
|
|
340
376
|
|
341
377
|
|
342
378
|
|
343
|
-
<span class="summary_desc"><div class='inline'
|
379
|
+
<span class="summary_desc"><div class='inline'>
|
380
|
+
<p>Look up a queue by name, or create it if it does not already exist.</p>
|
381
|
+
</div></span>
|
344
382
|
|
345
383
|
</li>
|
346
384
|
|
@@ -365,7 +403,7 @@
|
|
365
403
|
|
366
404
|
|
367
405
|
<span class="summary_desc"><div class='inline'>
|
368
|
-
<p>
|
406
|
+
<p>Initialize a new BunnyClient instance.</p>
|
369
407
|
</div></span>
|
370
408
|
|
371
409
|
</li>
|
@@ -388,7 +426,10 @@
|
|
388
426
|
|
389
427
|
|
390
428
|
|
391
|
-
<span class="summary_desc"><div class='inline'
|
429
|
+
<span class="summary_desc"><div class='inline'>
|
430
|
+
<p>Publish a message to the specified exchange, which is declared as a
|
431
|
+
durable, topic exchange.</p>
|
432
|
+
</div></span>
|
392
433
|
|
393
434
|
</li>
|
394
435
|
|
@@ -396,7 +437,7 @@
|
|
396
437
|
<li class="public ">
|
397
438
|
<span class="summary_signature">
|
398
439
|
|
399
|
-
<a href="#reconnect-instance_method" title="#reconnect (instance method)">- (
|
440
|
+
<a href="#reconnect-instance_method" title="#reconnect (instance method)">- (Bunny::Session) <strong>reconnect</strong> </a>
|
400
441
|
|
401
442
|
|
402
443
|
|
@@ -410,7 +451,9 @@
|
|
410
451
|
|
411
452
|
|
412
453
|
|
413
|
-
<span class="summary_desc"><div class='inline'
|
454
|
+
<span class="summary_desc"><div class='inline'>
|
455
|
+
<p>Close and reopen the AMQP connection.</p>
|
456
|
+
</div></span>
|
414
457
|
|
415
458
|
</li>
|
416
459
|
|
@@ -432,7 +475,33 @@
|
|
432
475
|
|
433
476
|
|
434
477
|
|
435
|
-
<span class="summary_desc"><div class='inline'
|
478
|
+
<span class="summary_desc"><div class='inline'>
|
479
|
+
<p>Reset this client by closing all channels for the connection.</p>
|
480
|
+
</div></span>
|
481
|
+
|
482
|
+
</li>
|
483
|
+
|
484
|
+
|
485
|
+
<li class="public ">
|
486
|
+
<span class="summary_signature">
|
487
|
+
|
488
|
+
<a href="#subscribe-instance_method" title="#subscribe (instance method)">- (Object) <strong>subscribe</strong>(queue, options = {manual_ack: true}) {|payload| ... }</a>
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
</span>
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
|
502
|
+
<span class="summary_desc"><div class='inline'>
|
503
|
+
<p>Subscribe to messages on the Bunny queue.</p>
|
504
|
+
</div></span>
|
436
505
|
|
437
506
|
</li>
|
438
507
|
|
@@ -449,6 +518,11 @@
|
|
449
518
|
|
450
519
|
|
451
520
|
|
521
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Client.html" title="Isimud::Client (class)">Client</a></span></h3>
|
522
|
+
<p class="inherited"><span class='object_link'><a href="Client.html#on_exception-instance_method" title="Isimud::Client#on_exception (method)">#on_exception</a></span>, <span class='object_link'><a href="Client.html#run_exception_handlers-instance_method" title="Isimud::Client#run_exception_handlers (method)">#run_exception_handlers</a></span></p>
|
523
|
+
|
524
|
+
|
525
|
+
|
452
526
|
|
453
527
|
|
454
528
|
|
@@ -472,13 +546,61 @@
|
|
472
546
|
</h3><div class="docstring">
|
473
547
|
<div class="discussion">
|
474
548
|
|
475
|
-
<p>
|
549
|
+
<p>Initialize a new BunnyClient instance. Note that a connection is not
|
550
|
+
established until any other method is called</p>
|
476
551
|
|
477
552
|
|
478
553
|
</div>
|
479
554
|
</div>
|
480
555
|
<div class="tags">
|
556
|
+
<p class="tag_title">Parameters:</p>
|
557
|
+
<ul class="param">
|
558
|
+
|
559
|
+
<li>
|
560
|
+
|
561
|
+
<span class='name'>_url</span>
|
562
|
+
|
563
|
+
|
564
|
+
<span class='type'>(<tt>String</tt>, <tt>Hash</tt>)</span>
|
565
|
+
|
566
|
+
|
567
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
568
|
+
|
569
|
+
|
570
|
+
—
|
571
|
+
<div class='inline'>
|
572
|
+
<p>Server URL or options hash</p>
|
573
|
+
</div>
|
574
|
+
|
575
|
+
</li>
|
576
|
+
|
577
|
+
<li>
|
578
|
+
|
579
|
+
<span class='name'>_bunny_options</span>
|
580
|
+
|
581
|
+
|
582
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
583
|
+
|
584
|
+
|
585
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
586
|
+
|
587
|
+
|
588
|
+
—
|
589
|
+
<div class='inline'>
|
590
|
+
<p>optional Bunny connection options</p>
|
591
|
+
</div>
|
592
|
+
|
593
|
+
</li>
|
481
594
|
|
595
|
+
</ul>
|
596
|
+
|
597
|
+
|
598
|
+
<p class="tag_title">See Also:</p>
|
599
|
+
<ul class="see">
|
600
|
+
|
601
|
+
<li>for connection options</li>
|
602
|
+
|
603
|
+
</ul>
|
482
604
|
|
483
605
|
</div><table class="source_code">
|
484
606
|
<tr>
|
@@ -486,14 +608,14 @@
|
|
486
608
|
<pre class="lines">
|
487
609
|
|
488
610
|
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
611
|
+
18
|
612
|
+
19
|
613
|
+
20
|
614
|
+
21
|
615
|
+
22</pre>
|
494
616
|
</td>
|
495
617
|
<td>
|
496
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
618
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 18</span>
|
497
619
|
|
498
620
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid__url'>_url</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid__bunny_options'>_bunny_options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
499
621
|
<span class='id identifier rubyid_log'>log</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud::BunnyClient.initialize: options = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid__bunny_options'>_bunny_options</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
@@ -538,12 +660,12 @@
|
|
538
660
|
<pre class="lines">
|
539
661
|
|
540
662
|
|
541
|
-
|
542
|
-
|
543
|
-
|
663
|
+
11
|
664
|
+
12
|
665
|
+
13</pre>
|
544
666
|
</td>
|
545
667
|
<td>
|
546
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
668
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 11</span>
|
547
669
|
|
548
670
|
<span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
|
549
671
|
<span class='ivar'>@url</span>
|
@@ -563,33 +685,137 @@
|
|
563
685
|
<div class="method_details first">
|
564
686
|
<h3 class="signature first" id="bind-instance_method">
|
565
687
|
|
566
|
-
- (<tt>
|
688
|
+
- (<tt>Bunny::Consumer</tt>) <strong>bind</strong>(queue_name, exchange_name, *routing_keys) {|payload| ... }
|
689
|
+
|
690
|
+
|
691
|
+
|
692
|
+
|
567
693
|
|
694
|
+
</h3><div class="docstring">
|
695
|
+
<div class="discussion">
|
696
|
+
|
697
|
+
<p>Convenience method that finds or creates a named queue, binds to an
|
698
|
+
exchange, and subscribes to messages. If a block is provided, it will be
|
699
|
+
called by the consumer each time a message is received.</p>
|
568
700
|
|
701
|
+
|
702
|
+
</div>
|
703
|
+
</div>
|
704
|
+
<div class="tags">
|
705
|
+
<p class="tag_title">Parameters:</p>
|
706
|
+
<ul class="param">
|
707
|
+
|
708
|
+
<li>
|
709
|
+
|
710
|
+
<span class='name'>queue_name</span>
|
711
|
+
|
712
|
+
|
713
|
+
<span class='type'>(<tt>String</tt>)</span>
|
714
|
+
|
715
|
+
|
716
|
+
|
717
|
+
—
|
718
|
+
<div class='inline'>
|
719
|
+
<p>name of the queue</p>
|
720
|
+
</div>
|
721
|
+
|
722
|
+
</li>
|
723
|
+
|
724
|
+
<li>
|
725
|
+
|
726
|
+
<span class='name'>exchange_name</span>
|
727
|
+
|
728
|
+
|
729
|
+
<span class='type'>(<tt>String</tt>)</span>
|
730
|
+
|
731
|
+
|
732
|
+
|
733
|
+
—
|
734
|
+
<div class='inline'>
|
735
|
+
<p>name of the AMQP exchange. Note that existing exchanges must be declared as
|
736
|
+
Topic exchanges; otherwise, an error will occur</p>
|
737
|
+
</div>
|
738
|
+
|
739
|
+
</li>
|
740
|
+
|
741
|
+
<li>
|
742
|
+
|
743
|
+
<span class='name'>routing_keys</span>
|
744
|
+
|
745
|
+
|
746
|
+
<span class='type'>(<tt>Array<String></tt>)</span>
|
747
|
+
|
748
|
+
|
749
|
+
|
750
|
+
—
|
751
|
+
<div class='inline'>
|
752
|
+
<p>list of routing keys to be bound to the queue for the specified exchange.</p>
|
753
|
+
</div>
|
754
|
+
|
755
|
+
</li>
|
569
756
|
|
757
|
+
</ul>
|
570
758
|
|
759
|
+
<p class="tag_title">Yield Parameters:</p>
|
760
|
+
<ul class="yieldparam">
|
761
|
+
|
762
|
+
<li>
|
763
|
+
|
764
|
+
<span class='name'>payload</span>
|
765
|
+
|
766
|
+
|
767
|
+
<span class='type'>(<tt>String</tt>)</span>
|
768
|
+
|
769
|
+
|
770
|
+
|
771
|
+
—
|
772
|
+
<div class='inline'>
|
773
|
+
<p>message text</p>
|
774
|
+
</div>
|
775
|
+
|
776
|
+
</li>
|
777
|
+
|
778
|
+
</ul>
|
779
|
+
<p class="tag_title">Returns:</p>
|
780
|
+
<ul class="return">
|
781
|
+
|
782
|
+
<li>
|
783
|
+
|
784
|
+
|
785
|
+
<span class='type'>(<tt>Bunny::Consumer</tt>)</span>
|
786
|
+
|
787
|
+
|
788
|
+
|
789
|
+
—
|
790
|
+
<div class='inline'>
|
791
|
+
<p>Bunny consumer interface</p>
|
792
|
+
</div>
|
793
|
+
|
794
|
+
</li>
|
571
795
|
|
572
|
-
</
|
796
|
+
</ul>
|
797
|
+
|
798
|
+
</div><table class="source_code">
|
573
799
|
<tr>
|
574
800
|
<td>
|
575
801
|
<pre class="lines">
|
576
802
|
|
577
803
|
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
804
|
+
33
|
805
|
+
34
|
806
|
+
35
|
807
|
+
36
|
808
|
+
37
|
809
|
+
38</pre>
|
584
810
|
</td>
|
585
811
|
<td>
|
586
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
812
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 33</span>
|
587
813
|
|
588
814
|
<span class='kw'>def</span> <span class='id identifier rubyid_bind'>bind</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_routing_keys'>routing_keys</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
589
|
-
<span class='id identifier rubyid_create_queue'>create_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span>
|
590
|
-
|
591
|
-
|
592
|
-
|
815
|
+
<span class='id identifier rubyid_queue'>queue</span> <span class='op'>=</span> <span class='id identifier rubyid_create_queue'>create_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span>
|
816
|
+
<span class='label'>queue_options:</span> <span class='lbrace'>{</span><span class='label'>durable:</span> <span class='kw'>true</span><span class='rbrace'>}</span><span class='comma'>,</span>
|
817
|
+
<span class='label'>routing_keys:</span> <span class='id identifier rubyid_routing_keys'>routing_keys</span><span class='rparen'>)</span>
|
818
|
+
<span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='id identifier rubyid_queue'>queue</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
|
593
819
|
<span class='kw'>end</span></pre>
|
594
820
|
</td>
|
595
821
|
</tr>
|
@@ -599,31 +825,64 @@
|
|
599
825
|
<div class="method_details ">
|
600
826
|
<h3 class="signature " id="channel-instance_method">
|
601
827
|
|
602
|
-
- (<tt>
|
828
|
+
- (<tt>Bunny::Channel</tt>) <strong>channel</strong>
|
829
|
+
|
830
|
+
|
603
831
|
|
604
832
|
|
605
833
|
|
834
|
+
</h3><div class="docstring">
|
835
|
+
<div class="discussion">
|
836
|
+
|
837
|
+
<p>Open a new, thread-specific AMQP connection channel, or return the current
|
838
|
+
channel for this thread if it exists</p>
|
839
|
+
|
840
|
+
<pre class="code ruby"><code class="ruby">and is currently open. New channels are created with publisher confirms enabled. Messages will be prefetched
|
841
|
+
according to Isimud.prefetch_count when declared.</code></pre>
|
606
842
|
|
843
|
+
|
844
|
+
</div>
|
845
|
+
</div>
|
846
|
+
<div class="tags">
|
847
|
+
|
848
|
+
<p class="tag_title">Returns:</p>
|
849
|
+
<ul class="return">
|
850
|
+
|
851
|
+
<li>
|
852
|
+
|
853
|
+
|
854
|
+
<span class='type'>(<tt>Bunny::Channel</tt>)</span>
|
855
|
+
|
856
|
+
|
857
|
+
|
858
|
+
—
|
859
|
+
<div class='inline'>
|
860
|
+
<p>channel instance.</p>
|
861
|
+
</div>
|
862
|
+
|
863
|
+
</li>
|
607
864
|
|
608
|
-
</
|
865
|
+
</ul>
|
866
|
+
|
867
|
+
</div><table class="source_code">
|
609
868
|
<tr>
|
610
869
|
<td>
|
611
870
|
<pre class="lines">
|
612
871
|
|
613
872
|
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
873
|
+
107
|
874
|
+
108
|
875
|
+
109
|
876
|
+
110
|
877
|
+
111
|
878
|
+
112
|
879
|
+
113
|
880
|
+
114
|
881
|
+
115
|
882
|
+
116</pre>
|
624
883
|
</td>
|
625
884
|
<td>
|
626
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
885
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 107</span>
|
627
886
|
|
628
887
|
<span class='kw'>def</span> <span class='id identifier rubyid_channel'>channel</span>
|
629
888
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>=</span> <span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='const'>CHANNEL_KEY</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:open?</span><span class='rparen'>)</span>
|
@@ -649,20 +908,49 @@
|
|
649
908
|
|
650
909
|
|
651
910
|
|
652
|
-
</h3><
|
911
|
+
</h3><div class="docstring">
|
912
|
+
<div class="discussion">
|
913
|
+
|
914
|
+
<p>Close the AMQP connection and clear it from the instance.</p>
|
915
|
+
|
916
|
+
|
917
|
+
</div>
|
918
|
+
</div>
|
919
|
+
<div class="tags">
|
920
|
+
|
921
|
+
<p class="tag_title">Returns:</p>
|
922
|
+
<ul class="return">
|
923
|
+
|
924
|
+
<li>
|
925
|
+
|
926
|
+
|
927
|
+
<span class='type'></span>
|
928
|
+
|
929
|
+
|
930
|
+
|
931
|
+
|
932
|
+
<div class='inline'>
|
933
|
+
<p>nil</p>
|
934
|
+
</div>
|
935
|
+
|
936
|
+
</li>
|
937
|
+
|
938
|
+
</ul>
|
939
|
+
|
940
|
+
</div><table class="source_code">
|
653
941
|
<tr>
|
654
942
|
<td>
|
655
943
|
<pre class="lines">
|
656
944
|
|
657
945
|
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
946
|
+
132
|
947
|
+
133
|
948
|
+
134
|
949
|
+
135
|
950
|
+
136</pre>
|
663
951
|
</td>
|
664
952
|
<td>
|
665
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
953
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 132</span>
|
666
954
|
|
667
955
|
<span class='kw'>def</span> <span class='id identifier rubyid_close'>close</span>
|
668
956
|
<span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
@@ -677,7 +965,7 @@
|
|
677
965
|
<div class="method_details ">
|
678
966
|
<h3 class="signature " id="connected?-instance_method">
|
679
967
|
|
680
|
-
- (<tt>Boolean</tt>) <strong>connected?</strong>
|
968
|
+
- (<tt>Boolean</tt><sup>?</sup>) <strong>connected?</strong>
|
681
969
|
|
682
970
|
|
683
971
|
|
@@ -686,6 +974,10 @@
|
|
686
974
|
</h3><div class="docstring">
|
687
975
|
<div class="discussion">
|
688
976
|
|
977
|
+
<p>Determine if a Bunny connection is currently established to the AMQP
|
978
|
+
server. but is closed or closing, or nil if no connection has been
|
979
|
+
established.</p>
|
980
|
+
|
689
981
|
|
690
982
|
</div>
|
691
983
|
</div>
|
@@ -697,10 +989,16 @@
|
|
697
989
|
<li>
|
698
990
|
|
699
991
|
|
700
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
992
|
+
<span class='type'>(<tt>Boolean</tt>, <tt>nil</tt>)</span>
|
701
993
|
|
702
994
|
|
703
995
|
|
996
|
+
—
|
997
|
+
<div class='inline'>
|
998
|
+
<p>true if a connection was established and is active or starting, false if a
|
999
|
+
connection exists</p>
|
1000
|
+
</div>
|
1001
|
+
|
704
1002
|
</li>
|
705
1003
|
|
706
1004
|
</ul>
|
@@ -711,12 +1009,12 @@
|
|
711
1009
|
<pre class="lines">
|
712
1010
|
|
713
1011
|
|
714
|
-
|
715
|
-
|
716
|
-
|
1012
|
+
126
|
1013
|
+
127
|
1014
|
+
128</pre>
|
717
1015
|
</td>
|
718
1016
|
<td>
|
719
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
1017
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 126</span>
|
720
1018
|
|
721
1019
|
<span class='kw'>def</span> <span class='id identifier rubyid_connected?'>connected?</span>
|
722
1020
|
<span class='ivar'>@connection</span> <span class='op'>&&</span> <span class='ivar'>@connection</span><span class='period'>.</span><span class='id identifier rubyid_open?'>open?</span>
|
@@ -729,7 +1027,7 @@
|
|
729
1027
|
<div class="method_details ">
|
730
1028
|
<h3 class="signature " id="connection-instance_method">
|
731
1029
|
|
732
|
-
- (<tt>
|
1030
|
+
- (<tt>Bunny::Session</tt>) <strong>connection</strong>
|
733
1031
|
|
734
1032
|
|
735
1033
|
|
@@ -739,94 +1037,215 @@
|
|
739
1037
|
|
740
1038
|
|
741
1039
|
|
742
|
-
</h3><
|
743
|
-
<
|
744
|
-
|
745
|
-
|
746
|
-
|
1040
|
+
</h3><div class="docstring">
|
1041
|
+
<div class="discussion">
|
1042
|
+
|
1043
|
+
<p>Establish a connection to the AMQP server, or return the current connection
|
1044
|
+
if one already exists</p>
|
747
1045
|
|
748
|
-
53
|
749
|
-
54
|
750
|
-
55</pre>
|
751
|
-
</td>
|
752
|
-
<td>
|
753
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 53</span>
|
754
1046
|
|
755
|
-
|
756
|
-
|
757
|
-
<
|
758
|
-
|
759
|
-
|
760
|
-
|
1047
|
+
</div>
|
1048
|
+
</div>
|
1049
|
+
<div class="tags">
|
1050
|
+
|
1051
|
+
<p class="tag_title">Returns:</p>
|
1052
|
+
<ul class="return">
|
1053
|
+
|
1054
|
+
<li>
|
1055
|
+
|
1056
|
+
|
1057
|
+
<span class='type'>(<tt>Bunny::Session</tt>)</span>
|
1058
|
+
|
1059
|
+
|
1060
|
+
|
1061
|
+
</li>
|
1062
|
+
|
1063
|
+
</ul>
|
1064
|
+
|
1065
|
+
</div><table class="source_code">
|
1066
|
+
<tr>
|
1067
|
+
<td>
|
1068
|
+
<pre class="lines">
|
1069
|
+
|
1070
|
+
|
1071
|
+
95
|
1072
|
+
96
|
1073
|
+
97</pre>
|
1074
|
+
</td>
|
1075
|
+
<td>
|
1076
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 95</span>
|
1077
|
+
|
1078
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</span>
|
1079
|
+
<span class='ivar'>@connection</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Bunny</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='comma'>,</span> <span class='ivar'>@bunny_options</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:start</span><span class='rparen'>)</span>
|
1080
|
+
<span class='kw'>end</span></pre>
|
1081
|
+
</td>
|
1082
|
+
</tr>
|
1083
|
+
</table>
|
761
1084
|
</div>
|
762
1085
|
|
763
1086
|
<div class="method_details ">
|
764
1087
|
<h3 class="signature " id="create_queue-instance_method">
|
765
1088
|
|
766
|
-
- (<tt>
|
1089
|
+
- (<tt>Bunny::Queue</tt>) <strong>create_queue</strong>(queue_name, exchange_name, options = {})
|
1090
|
+
|
1091
|
+
|
1092
|
+
|
1093
|
+
|
767
1094
|
|
1095
|
+
</h3><div class="docstring">
|
1096
|
+
<div class="discussion">
|
1097
|
+
|
1098
|
+
<p>Find or create a named queue and bind it to the specified exchange</p>
|
768
1099
|
|
1100
|
+
|
1101
|
+
</div>
|
1102
|
+
</div>
|
1103
|
+
<div class="tags">
|
1104
|
+
<p class="tag_title">Parameters:</p>
|
1105
|
+
<ul class="param">
|
1106
|
+
|
1107
|
+
<li>
|
1108
|
+
|
1109
|
+
<span class='name'>queue_name</span>
|
1110
|
+
|
1111
|
+
|
1112
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1113
|
+
|
1114
|
+
|
1115
|
+
|
1116
|
+
—
|
1117
|
+
<div class='inline'>
|
1118
|
+
<p>name of the queue</p>
|
1119
|
+
</div>
|
1120
|
+
|
1121
|
+
</li>
|
769
1122
|
|
1123
|
+
<li>
|
1124
|
+
|
1125
|
+
<span class='name'>exchange_name</span>
|
1126
|
+
|
1127
|
+
|
1128
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1129
|
+
|
1130
|
+
|
1131
|
+
|
1132
|
+
—
|
1133
|
+
<div class='inline'>
|
1134
|
+
<p>name of the AMQP exchange. Note that pre-existing exchanges must be
|
1135
|
+
declared as Topic exchanges; otherwise, an error will occur</p>
|
1136
|
+
</div>
|
1137
|
+
|
1138
|
+
</li>
|
1139
|
+
|
1140
|
+
<li>
|
1141
|
+
|
1142
|
+
<span class='name'>options</span>
|
1143
|
+
|
1144
|
+
|
1145
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1146
|
+
|
1147
|
+
|
1148
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
1149
|
+
|
1150
|
+
|
1151
|
+
—
|
1152
|
+
<div class='inline'>
|
1153
|
+
<p>queue declaration options</p>
|
1154
|
+
</div>
|
1155
|
+
|
1156
|
+
</li>
|
1157
|
+
|
1158
|
+
</ul>
|
770
1159
|
|
771
1160
|
|
772
|
-
|
1161
|
+
|
1162
|
+
|
1163
|
+
|
1164
|
+
|
1165
|
+
|
1166
|
+
|
1167
|
+
<p class="tag_title">Options Hash (<tt>options</tt>):</p>
|
1168
|
+
<ul class="option">
|
1169
|
+
|
1170
|
+
<li>
|
1171
|
+
<span class="name">:queue_options</span>
|
1172
|
+
<span class="type">(<tt>Boolean</tt>)</span>
|
1173
|
+
<span class="default">
|
1174
|
+
|
1175
|
+
— default:
|
1176
|
+
<tt>{durable: true}</tt>
|
1177
|
+
|
1178
|
+
</span>
|
1179
|
+
|
1180
|
+
— <div class='inline'>
|
1181
|
+
<p>queue declaration options – @see Bunny::Channel#queue</p>
|
1182
|
+
</div>
|
1183
|
+
|
1184
|
+
</li>
|
1185
|
+
|
1186
|
+
<li>
|
1187
|
+
<span class="name">:routing_keys</span>
|
1188
|
+
<span class="type">(<tt>Array<String></tt>)</span>
|
1189
|
+
<span class="default">
|
1190
|
+
|
1191
|
+
— default:
|
1192
|
+
<tt>[]</tt>
|
1193
|
+
|
1194
|
+
</span>
|
1195
|
+
|
1196
|
+
— <div class='inline'>
|
1197
|
+
<p>routing keys to be bound to the queue. Use “*” to match any 1 word in a
|
1198
|
+
route segment. Use “#” to match 0 or more words in a segment.</p>
|
1199
|
+
</div>
|
1200
|
+
|
1201
|
+
</li>
|
1202
|
+
|
1203
|
+
</ul>
|
1204
|
+
|
1205
|
+
|
1206
|
+
<p class="tag_title">Returns:</p>
|
1207
|
+
<ul class="return">
|
1208
|
+
|
1209
|
+
<li>
|
1210
|
+
|
1211
|
+
|
1212
|
+
<span class='type'>(<tt>Bunny::Queue</tt>)</span>
|
1213
|
+
|
1214
|
+
|
1215
|
+
|
1216
|
+
—
|
1217
|
+
<div class='inline'>
|
1218
|
+
<p>Bunny queue</p>
|
1219
|
+
</div>
|
1220
|
+
|
1221
|
+
</li>
|
1222
|
+
|
1223
|
+
</ul>
|
1224
|
+
|
1225
|
+
</div><table class="source_code">
|
773
1226
|
<tr>
|
774
1227
|
<td>
|
775
1228
|
<pre class="lines">
|
776
1229
|
|
777
1230
|
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
31
|
787
|
-
32
|
788
|
-
33
|
789
|
-
34
|
790
|
-
35
|
791
|
-
36
|
792
|
-
37
|
793
|
-
38
|
794
|
-
39
|
795
|
-
40
|
796
|
-
41
|
797
|
-
42
|
798
|
-
43
|
799
|
-
44
|
800
|
-
45
|
801
|
-
46
|
802
|
-
47</pre>
|
1231
|
+
50
|
1232
|
+
51
|
1233
|
+
52
|
1234
|
+
53
|
1235
|
+
54
|
1236
|
+
55
|
1237
|
+
56
|
1238
|
+
57</pre>
|
803
1239
|
</td>
|
804
1240
|
<td>
|
805
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
806
|
-
|
807
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_create_queue'>create_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='
|
808
|
-
<span class='id identifier rubyid_queue_options'>queue_options</span>
|
809
|
-
<span class='id identifier rubyid_routing_keys'>routing_keys</span>
|
810
|
-
<span class='id identifier
|
811
|
-
<span class='id identifier
|
812
|
-
<span class='id identifier
|
813
|
-
<span class='id identifier rubyid_queue'>queue</span> <span class='op'>=</span> <span class='id identifier rubyid_current_channel'>current_channel</span><span class='period'>.</span><span class='id identifier rubyid_queue'>queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_queue_options'>queue_options</span><span class='rparen'>)</span>
|
814
|
-
<span class='id identifier rubyid_routing_keys'>routing_keys</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span> <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_bind'>bind</span><span class='lparen'>(</span><span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='label'>routing_key:</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='label'>nowait:</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
815
|
-
<span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='id identifier rubyid_subscribe_options'>subscribe_options</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='comma'>,</span> <span class='id identifier rubyid_properties'>properties</span><span class='comma'>,</span> <span class='id identifier rubyid_payload'>payload</span><span class='op'>|</span>
|
816
|
-
<span class='kw'>begin</span>
|
817
|
-
<span class='id identifier rubyid_log'>log</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud: queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> received </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='embexpr_end'>}</span><span class='tstring_content'> routing_key: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_routing_key'>routing_key</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
818
|
-
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>isimud_queue_name</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_queue_name'>queue_name</span>
|
819
|
-
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>isimud_delivery_info</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_delivery_info'>delivery_info</span>
|
820
|
-
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>isimud_properties</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_properties'>properties</span>
|
821
|
-
<span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
|
822
|
-
<span class='id identifier rubyid_log'>log</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud: queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> finished with </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='embexpr_end'>}</span><span class='tstring_content'>, acknowledging</span><span class='tstring_end'>"</span></span>
|
823
|
-
<span class='id identifier rubyid_current_channel'>current_channel</span><span class='period'>.</span><span class='id identifier rubyid_ack'>ack</span><span class='lparen'>(</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='rparen'>)</span>
|
824
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
825
|
-
<span class='id identifier rubyid_log'>log</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud: queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> error processing </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='embexpr_end'>}</span><span class='tstring_content'> payload </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_payload'>payload</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_backtrace'>backtrace</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:warn</span><span class='rparen'>)</span>
|
826
|
-
<span class='id identifier rubyid_current_channel'>current_channel</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span><span class='lparen'>(</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='comma'>,</span> <span class='const'>Isimud</span><span class='period'>.</span><span class='id identifier rubyid_retry_failures'>retry_failures</span><span class='rparen'>)</span>
|
827
|
-
<span class='id identifier rubyid_raise'>raise</span>
|
828
|
-
<span class='kw'>end</span>
|
829
|
-
<span class='kw'>end</span>
|
1241
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 50</span>
|
1242
|
+
|
1243
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create_queue'>create_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1244
|
+
<span class='id identifier rubyid_queue_options'>queue_options</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:queue_options</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='label'>durable:</span> <span class='kw'>true</span><span class='rbrace'>}</span>
|
1245
|
+
<span class='id identifier rubyid_routing_keys'>routing_keys</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:routing_keys</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1246
|
+
<span class='id identifier rubyid_log'>log</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud::BunnyClient: create_queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>: queue_options=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue_options'>queue_options</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1247
|
+
<span class='id identifier rubyid_queue'>queue</span> <span class='op'>=</span> <span class='id identifier rubyid_find_queue'>find_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_queue_options'>queue_options</span><span class='rparen'>)</span>
|
1248
|
+
<span class='id identifier rubyid_bind_routing_keys'>bind_routing_keys</span><span class='lparen'>(</span><span class='id identifier rubyid_queue'>queue</span><span class='comma'>,</span> <span class='id identifier rubyid_exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='id identifier rubyid_routing_keys'>routing_keys</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_routing_keys'>routing_keys</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
|
830
1249
|
<span class='id identifier rubyid_queue'>queue</span>
|
831
1250
|
<span class='kw'>end</span></pre>
|
832
1251
|
</td>
|
@@ -837,27 +1256,77 @@
|
|
837
1256
|
<div class="method_details ">
|
838
1257
|
<h3 class="signature " id="delete_queue-instance_method">
|
839
1258
|
|
840
|
-
- (<tt>
|
1259
|
+
- (<tt>AMQ::Protocol::Queue::DeleteOk</tt>) <strong>delete_queue</strong>(queue_name)
|
841
1260
|
|
842
1261
|
|
843
1262
|
|
844
1263
|
|
845
1264
|
|
846
|
-
</h3><
|
1265
|
+
</h3><div class="docstring">
|
1266
|
+
<div class="discussion">
|
1267
|
+
|
1268
|
+
<p>Permanently delete the queue from the AMQP server. Any messages present in
|
1269
|
+
the queue will be discarded.</p>
|
1270
|
+
|
1271
|
+
|
1272
|
+
</div>
|
1273
|
+
</div>
|
1274
|
+
<div class="tags">
|
1275
|
+
<p class="tag_title">Parameters:</p>
|
1276
|
+
<ul class="param">
|
1277
|
+
|
1278
|
+
<li>
|
1279
|
+
|
1280
|
+
<span class='name'>queue_name</span>
|
1281
|
+
|
1282
|
+
|
1283
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1284
|
+
|
1285
|
+
|
1286
|
+
|
1287
|
+
—
|
1288
|
+
<div class='inline'>
|
1289
|
+
<p>queue name</p>
|
1290
|
+
</div>
|
1291
|
+
|
1292
|
+
</li>
|
1293
|
+
|
1294
|
+
</ul>
|
1295
|
+
|
1296
|
+
<p class="tag_title">Returns:</p>
|
1297
|
+
<ul class="return">
|
1298
|
+
|
1299
|
+
<li>
|
1300
|
+
|
1301
|
+
|
1302
|
+
<span class='type'>(<tt>AMQ::Protocol::Queue::DeleteOk</tt>)</span>
|
1303
|
+
|
1304
|
+
|
1305
|
+
|
1306
|
+
—
|
1307
|
+
<div class='inline'>
|
1308
|
+
<p>RabbitMQ response</p>
|
1309
|
+
</div>
|
1310
|
+
|
1311
|
+
</li>
|
1312
|
+
|
1313
|
+
</ul>
|
1314
|
+
|
1315
|
+
</div><table class="source_code">
|
847
1316
|
<tr>
|
848
1317
|
<td>
|
849
1318
|
<pre class="lines">
|
850
1319
|
|
851
1320
|
|
852
|
-
|
853
|
-
|
854
|
-
|
1321
|
+
89
|
1322
|
+
90
|
1323
|
+
91</pre>
|
855
1324
|
</td>
|
856
1325
|
<td>
|
857
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
1326
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 89</span>
|
858
1327
|
|
859
1328
|
<span class='kw'>def</span> <span class='id identifier rubyid_delete_queue'>delete_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='rparen'>)</span>
|
860
|
-
<span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier
|
1329
|
+
<span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier rubyid_queue_delete'>queue_delete</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='rparen'>)</span>
|
861
1330
|
<span class='kw'>end</span></pre>
|
862
1331
|
</td>
|
863
1332
|
</tr>
|
@@ -865,33 +1334,40 @@
|
|
865
1334
|
</div>
|
866
1335
|
|
867
1336
|
<div class="method_details ">
|
868
|
-
<h3 class="signature " id="
|
1337
|
+
<h3 class="signature " id="find_queue-instance_method">
|
869
1338
|
|
870
|
-
- (<tt>Object</tt>) <strong>
|
1339
|
+
- (<tt>Object</tt>) <strong>find_queue</strong>(queue_name, options = {durable: true})
|
871
1340
|
|
872
1341
|
|
873
1342
|
|
874
1343
|
|
875
1344
|
|
876
|
-
</h3><
|
1345
|
+
</h3><div class="docstring">
|
1346
|
+
<div class="discussion">
|
1347
|
+
|
1348
|
+
<p>Look up a queue by name, or create it if it does not already exist.</p>
|
1349
|
+
|
1350
|
+
|
1351
|
+
</div>
|
1352
|
+
</div>
|
1353
|
+
<div class="tags">
|
1354
|
+
|
1355
|
+
|
1356
|
+
</div><table class="source_code">
|
877
1357
|
<tr>
|
878
1358
|
<td>
|
879
1359
|
<pre class="lines">
|
880
1360
|
|
881
1361
|
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
79
|
886
|
-
80</pre>
|
1362
|
+
156
|
1363
|
+
157
|
1364
|
+
158</pre>
|
887
1365
|
</td>
|
888
1366
|
<td>
|
889
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
1367
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 156</span>
|
890
1368
|
|
891
|
-
<span class='kw'>def</span> <span class='id identifier
|
892
|
-
<span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier
|
893
|
-
<span class='kw'>yield</span>
|
894
|
-
<span class='kw'>end</span>
|
1369
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_queue'>find_queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>durable:</span> <span class='kw'>true</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1370
|
+
<span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier rubyid_queue'>queue</span><span class='lparen'>(</span><span class='id identifier rubyid_queue_name'>queue_name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
895
1371
|
<span class='kw'>end</span></pre>
|
896
1372
|
</td>
|
897
1373
|
</tr>
|
@@ -907,18 +1383,76 @@
|
|
907
1383
|
|
908
1384
|
|
909
1385
|
|
910
|
-
</h3><
|
1386
|
+
</h3><div class="docstring">
|
1387
|
+
<div class="discussion">
|
1388
|
+
|
1389
|
+
<p>Publish a message to the specified exchange, which is declared as a
|
1390
|
+
durable, topic exchange. Note that message</p>
|
1391
|
+
|
1392
|
+
<pre class="code ruby"><code class="ruby">is always persisted.</code></pre>
|
1393
|
+
|
1394
|
+
|
1395
|
+
</div>
|
1396
|
+
</div>
|
1397
|
+
<div class="tags">
|
1398
|
+
<p class="tag_title">Parameters:</p>
|
1399
|
+
<ul class="param">
|
1400
|
+
|
1401
|
+
<li>
|
1402
|
+
|
1403
|
+
<span class='name'>exchange</span>
|
1404
|
+
|
1405
|
+
|
1406
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1407
|
+
|
1408
|
+
|
1409
|
+
|
1410
|
+
—
|
1411
|
+
<div class='inline'>
|
1412
|
+
<p>AMQP exchange name</p>
|
1413
|
+
</div>
|
1414
|
+
|
1415
|
+
</li>
|
1416
|
+
|
1417
|
+
<li>
|
1418
|
+
|
1419
|
+
<span class='name'>routing_key</span>
|
1420
|
+
|
1421
|
+
|
1422
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1423
|
+
|
1424
|
+
|
1425
|
+
|
1426
|
+
—
|
1427
|
+
<div class='inline'>
|
1428
|
+
<p>message routing key. This should always be in the form of words separated
|
1429
|
+
by dots e.g. “user.goal.complete”</p>
|
1430
|
+
</div>
|
1431
|
+
|
1432
|
+
</li>
|
1433
|
+
|
1434
|
+
</ul>
|
1435
|
+
|
1436
|
+
|
1437
|
+
<p class="tag_title">See Also:</p>
|
1438
|
+
<ul class="see">
|
1439
|
+
|
1440
|
+
<li><a href="http://rubybunny.info/articles/exchanges.html" target="_parent" title="http://rubybunny.info/articles/exchanges.html">http://rubybunny.info/articles/exchanges.html</a></li>
|
1441
|
+
|
1442
|
+
</ul>
|
1443
|
+
|
1444
|
+
</div><table class="source_code">
|
911
1445
|
<tr>
|
912
1446
|
<td>
|
913
1447
|
<pre class="lines">
|
914
1448
|
|
915
1449
|
|
916
|
-
|
917
|
-
|
918
|
-
|
1450
|
+
144
|
1451
|
+
145
|
1452
|
+
146</pre>
|
919
1453
|
</td>
|
920
1454
|
<td>
|
921
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
1455
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 144</span>
|
922
1456
|
|
923
1457
|
<span class='kw'>def</span> <span class='id identifier rubyid_publish'>publish</span><span class='lparen'>(</span><span class='id identifier rubyid_exchange'>exchange</span><span class='comma'>,</span> <span class='id identifier rubyid_routing_key'>routing_key</span><span class='comma'>,</span> <span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
|
924
1458
|
<span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier rubyid_topic'>topic</span><span class='lparen'>(</span><span class='id identifier rubyid_exchange'>exchange</span><span class='comma'>,</span> <span class='label'>durable:</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_publish'>publish</span><span class='lparen'>(</span><span class='id identifier rubyid_payload'>payload</span><span class='comma'>,</span> <span class='label'>routing_key:</span> <span class='id identifier rubyid_routing_key'>routing_key</span><span class='comma'>,</span> <span class='label'>persistent:</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
@@ -931,25 +1465,49 @@
|
|
931
1465
|
<div class="method_details ">
|
932
1466
|
<h3 class="signature " id="reconnect-instance_method">
|
933
1467
|
|
934
|
-
- (<tt>
|
1468
|
+
- (<tt>Bunny::Session</tt>) <strong>reconnect</strong>
|
935
1469
|
|
936
1470
|
|
937
1471
|
|
938
1472
|
|
939
1473
|
|
940
|
-
</h3><
|
1474
|
+
</h3><div class="docstring">
|
1475
|
+
<div class="discussion">
|
1476
|
+
|
1477
|
+
<p>Close and reopen the AMQP connection</p>
|
1478
|
+
|
1479
|
+
|
1480
|
+
</div>
|
1481
|
+
</div>
|
1482
|
+
<div class="tags">
|
1483
|
+
|
1484
|
+
<p class="tag_title">Returns:</p>
|
1485
|
+
<ul class="return">
|
1486
|
+
|
1487
|
+
<li>
|
1488
|
+
|
1489
|
+
|
1490
|
+
<span class='type'>(<tt>Bunny::Session</tt>)</span>
|
1491
|
+
|
1492
|
+
|
1493
|
+
|
1494
|
+
</li>
|
1495
|
+
|
1496
|
+
</ul>
|
1497
|
+
|
1498
|
+
</div><table class="source_code">
|
941
1499
|
<tr>
|
942
1500
|
<td>
|
943
1501
|
<pre class="lines">
|
944
1502
|
|
945
1503
|
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
1504
|
+
150
|
1505
|
+
151
|
1506
|
+
152
|
1507
|
+
153</pre>
|
950
1508
|
</td>
|
951
1509
|
<td>
|
952
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
1510
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 150</span>
|
953
1511
|
|
954
1512
|
<span class='kw'>def</span> <span class='id identifier rubyid_reconnect'>reconnect</span>
|
955
1513
|
<span class='id identifier rubyid_close'>close</span>
|
@@ -969,18 +1527,29 @@
|
|
969
1527
|
|
970
1528
|
|
971
1529
|
|
972
|
-
</h3><
|
1530
|
+
</h3><div class="docstring">
|
1531
|
+
<div class="discussion">
|
1532
|
+
|
1533
|
+
<p>Reset this client by closing all channels for the connection.</p>
|
1534
|
+
|
1535
|
+
|
1536
|
+
</div>
|
1537
|
+
</div>
|
1538
|
+
<div class="tags">
|
1539
|
+
|
1540
|
+
|
1541
|
+
</div><table class="source_code">
|
973
1542
|
<tr>
|
974
1543
|
<td>
|
975
1544
|
<pre class="lines">
|
976
1545
|
|
977
1546
|
|
978
|
-
|
979
|
-
|
980
|
-
|
1547
|
+
119
|
1548
|
+
120
|
1549
|
+
121</pre>
|
981
1550
|
</td>
|
982
1551
|
<td>
|
983
|
-
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line
|
1552
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 119</span>
|
984
1553
|
|
985
1554
|
<span class='kw'>def</span> <span class='id identifier rubyid_reset'>reset</span>
|
986
1555
|
<span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_close_all_channels'>close_all_channels</span>
|
@@ -988,6 +1557,140 @@
|
|
988
1557
|
</td>
|
989
1558
|
</tr>
|
990
1559
|
</table>
|
1560
|
+
</div>
|
1561
|
+
|
1562
|
+
<div class="method_details ">
|
1563
|
+
<h3 class="signature " id="subscribe-instance_method">
|
1564
|
+
|
1565
|
+
- (<tt>Object</tt>) <strong>subscribe</strong>(queue, options = {manual_ack: true}) {|payload| ... }
|
1566
|
+
|
1567
|
+
|
1568
|
+
|
1569
|
+
|
1570
|
+
|
1571
|
+
</h3><div class="docstring">
|
1572
|
+
<div class="discussion">
|
1573
|
+
|
1574
|
+
<p>Subscribe to messages on the Bunny queue. The provided block will be called
|
1575
|
+
each time a message is received.</p>
|
1576
|
+
|
1577
|
+
<pre class="code ruby"><code class="ruby">The message will be acknowledged and deleted from the queue unless an exception is raised from the block.
|
1578
|
+
In the case that an exception is caught, the message is rejected, and any declared exception handlers will
|
1579
|
+
be called.</code></pre>
|
1580
|
+
|
1581
|
+
|
1582
|
+
</div>
|
1583
|
+
</div>
|
1584
|
+
<div class="tags">
|
1585
|
+
<p class="tag_title">Parameters:</p>
|
1586
|
+
<ul class="param">
|
1587
|
+
|
1588
|
+
<li>
|
1589
|
+
|
1590
|
+
<span class='name'>queue</span>
|
1591
|
+
|
1592
|
+
|
1593
|
+
<span class='type'>(<tt>Bunny::Queue</tt>)</span>
|
1594
|
+
|
1595
|
+
|
1596
|
+
|
1597
|
+
—
|
1598
|
+
<div class='inline'>
|
1599
|
+
<p>Bunny queue</p>
|
1600
|
+
</div>
|
1601
|
+
|
1602
|
+
</li>
|
1603
|
+
|
1604
|
+
<li>
|
1605
|
+
|
1606
|
+
<span class='name'>options</span>
|
1607
|
+
|
1608
|
+
|
1609
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1610
|
+
|
1611
|
+
|
1612
|
+
<em class="default">(defaults to: <tt>{manual_ack: true}</tt>)</em>
|
1613
|
+
|
1614
|
+
|
1615
|
+
—
|
1616
|
+
<div class='inline'>
|
1617
|
+
<p>true subscription options – @see Bunny::Queue#subscribe</p>
|
1618
|
+
</div>
|
1619
|
+
|
1620
|
+
</li>
|
1621
|
+
|
1622
|
+
</ul>
|
1623
|
+
|
1624
|
+
<p class="tag_title">Yield Parameters:</p>
|
1625
|
+
<ul class="yieldparam">
|
1626
|
+
|
1627
|
+
<li>
|
1628
|
+
|
1629
|
+
<span class='name'>payload</span>
|
1630
|
+
|
1631
|
+
|
1632
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1633
|
+
|
1634
|
+
|
1635
|
+
|
1636
|
+
—
|
1637
|
+
<div class='inline'>
|
1638
|
+
<p>message text</p>
|
1639
|
+
</div>
|
1640
|
+
|
1641
|
+
</li>
|
1642
|
+
|
1643
|
+
</ul>
|
1644
|
+
|
1645
|
+
</div><table class="source_code">
|
1646
|
+
<tr>
|
1647
|
+
<td>
|
1648
|
+
<pre class="lines">
|
1649
|
+
|
1650
|
+
|
1651
|
+
67
|
1652
|
+
68
|
1653
|
+
69
|
1654
|
+
70
|
1655
|
+
71
|
1656
|
+
72
|
1657
|
+
73
|
1658
|
+
74
|
1659
|
+
75
|
1660
|
+
76
|
1661
|
+
77
|
1662
|
+
78
|
1663
|
+
79
|
1664
|
+
80
|
1665
|
+
81
|
1666
|
+
82
|
1667
|
+
83
|
1668
|
+
84</pre>
|
1669
|
+
</td>
|
1670
|
+
<td>
|
1671
|
+
<pre class="code"><span class="info file"># File 'lib/isimud/bunny_client.rb', line 67</span>
|
1672
|
+
|
1673
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='id identifier rubyid_queue'>queue</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>manual_ack:</span> <span class='kw'>true</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1674
|
+
<span class='id identifier rubyid_current_channel'>current_channel</span> <span class='op'>=</span> <span class='id identifier rubyid_channel'>channel</span>
|
1675
|
+
<span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='comma'>,</span> <span class='id identifier rubyid_properties'>properties</span><span class='comma'>,</span> <span class='id identifier rubyid_payload'>payload</span><span class='op'>|</span>
|
1676
|
+
<span class='kw'>begin</span>
|
1677
|
+
<span class='id identifier rubyid_log'>log</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud: queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> received </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='embexpr_end'>}</span><span class='tstring_content'> routing_key: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_routing_key'>routing_key</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1678
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>isimud_queue_name</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
|
1679
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>isimud_delivery_info</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_delivery_info'>delivery_info</span>
|
1680
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>isimud_properties</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_properties'>properties</span>
|
1681
|
+
<span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
|
1682
|
+
<span class='id identifier rubyid_log'>log</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud: queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> finished with </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='embexpr_end'>}</span><span class='tstring_content'>, acknowledging</span><span class='tstring_end'>"</span></span>
|
1683
|
+
<span class='id identifier rubyid_current_channel'>current_channel</span><span class='period'>.</span><span class='id identifier rubyid_ack'>ack</span><span class='lparen'>(</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='rparen'>)</span>
|
1684
|
+
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1685
|
+
<span class='id identifier rubyid_log'>log</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Isimud: queue </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> error processing </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='embexpr_end'>}</span><span class='tstring_content'> payload </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_payload'>payload</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_backtrace'>backtrace</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:warn</span><span class='rparen'>)</span>
|
1686
|
+
<span class='id identifier rubyid_current_channel'>current_channel</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span><span class='lparen'>(</span><span class='id identifier rubyid_delivery_info'>delivery_info</span><span class='period'>.</span><span class='id identifier rubyid_delivery_tag'>delivery_tag</span><span class='comma'>,</span> <span class='const'>Isimud</span><span class='period'>.</span><span class='id identifier rubyid_retry_failures'>retry_failures</span><span class='rparen'>)</span>
|
1687
|
+
<span class='id identifier rubyid_run_exception_handlers'>run_exception_handlers</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
|
1688
|
+
<span class='kw'>end</span>
|
1689
|
+
<span class='kw'>end</span>
|
1690
|
+
<span class='kw'>end</span></pre>
|
1691
|
+
</td>
|
1692
|
+
</tr>
|
1693
|
+
</table>
|
991
1694
|
</div>
|
992
1695
|
|
993
1696
|
</div>
|
@@ -995,9 +1698,9 @@
|
|
995
1698
|
</div>
|
996
1699
|
|
997
1700
|
<div id="footer">
|
998
|
-
Generated on
|
1701
|
+
Generated on Wed Jan 13 16:27:29 2016 by
|
999
1702
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1000
|
-
0.8.7.6 (ruby-2.2.
|
1703
|
+
0.8.7.6 (ruby-2.2.3).
|
1001
1704
|
</div>
|
1002
1705
|
|
1003
1706
|
</body>
|