lims-core 3.2.3
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 +15 -0
- data/.gitignore +5 -0
- data/.rspec +1 -0
- data/.rvmrc +2 -0
- data/.travis.yml +2 -0
- data/.vimrc +27 -0
- data/.yard_templates/default/layout/html/footer.erb +0 -0
- data/.yardopts +1 -0
- data/Gemfile +54 -0
- data/Gemfile.lock +197 -0
- data/Guardfile +21 -0
- data/Guardfile.tmux +28 -0
- data/README.markdown +67 -0
- data/Rakefile +16 -0
- data/config/database.yml +16 -0
- data/doc/Array.html +116 -0
- data/doc/Array/ArrayLoggerPersistor.html +152 -0
- data/doc/Lims.html +114 -0
- data/doc/Lims/Core.html +178 -0
- data/doc/Lims/Core/Action.html +91 -0
- data/doc/Lims/Core/Actions.html +116 -0
- data/doc/Lims/Core/Actions/Action.html +216 -0
- data/doc/Lims/Core/Actions/Action/AfterEval.html +853 -0
- data/doc/Lims/Core/Actions/Action/InvalidParameters.html +268 -0
- data/doc/Lims/Core/Actions/ActionGroup.html +196 -0
- data/doc/Lims/Core/Actions/ActionGroup/AfterEval.html +315 -0
- data/doc/Lims/Core/Actions/BulkAction.html +224 -0
- data/doc/Lims/Core/Actions/BulkAction/AfterEval.html +253 -0
- data/doc/Lims/Core/Actions/TestActionGroup.html +101 -0
- data/doc/Lims/Core/Actions/TestActionGroup/Action.html +133 -0
- data/doc/Lims/Core/Actions/TestActionGroup/ActionGroup.html +127 -0
- data/doc/Lims/Core/Base.html +287 -0
- data/doc/Lims/Core/Base/AccessibleViaSuper.html +252 -0
- data/doc/Lims/Core/Base/ClassMethod.html +177 -0
- data/doc/Lims/Core/Base/HashString.html +177 -0
- data/doc/Lims/Core/Base/IsArrayOf.html +606 -0
- data/doc/Lims/Core/Base/State.html +130 -0
- data/doc/Lims/Core/Organization.html +113 -0
- data/doc/Lims/Core/Organization/Batch.html +106 -0
- data/doc/Lims/Core/Persistence.html +267 -0
- data/doc/Lims/Core/Persistence/ComparisonFilter.html +318 -0
- data/doc/Lims/Core/Persistence/Filter.html +252 -0
- data/doc/Lims/Core/Persistence/IdentityMap.html +409 -0
- data/doc/Lims/Core/Persistence/IdentityMap/Class.html +144 -0
- data/doc/Lims/Core/Persistence/IdentityMap/DuplicateError.html +126 -0
- data/doc/Lims/Core/Persistence/IdentityMap/DuplicateIdError.html +136 -0
- data/doc/Lims/Core/Persistence/IdentityMap/DuplicateObjectError.html +136 -0
- data/doc/Lims/Core/Persistence/IdentityMapClass.html +133 -0
- data/doc/Lims/Core/Persistence/Logger.html +105 -0
- data/doc/Lims/Core/Persistence/Logger/Persistor.html +334 -0
- data/doc/Lims/Core/Persistence/Logger/Session.html +452 -0
- data/doc/Lims/Core/Persistence/Logger/Store.html +470 -0
- data/doc/Lims/Core/Persistence/MessageBus.html +871 -0
- data/doc/Lims/Core/Persistence/MessageBus/ConnectionError.html +123 -0
- data/doc/Lims/Core/Persistence/MessageBus/InvalidSettingsError.html +122 -0
- data/doc/Lims/Core/Persistence/MultiCriteriaFilter.html +293 -0
- data/doc/Lims/Core/Persistence/PersistAssociationTrait.html +91 -0
- data/doc/Lims/Core/Persistence/PersistableTrait.html +91 -0
- data/doc/Lims/Core/Persistence/Persistor.html +3072 -0
- data/doc/Lims/Core/Persistence/Persistor/DuplicateError.html +205 -0
- data/doc/Lims/Core/Persistence/Persistor/DuplicateIdError.html +147 -0
- data/doc/Lims/Core/Persistence/Persistor/DuplicateObjectError.html +147 -0
- data/doc/Lims/Core/Persistence/PersistorTrait.html +91 -0
- data/doc/Lims/Core/Persistence/ResourceState.html +1738 -0
- data/doc/Lims/Core/Persistence/Search.html +269 -0
- data/doc/Lims/Core/Persistence/Search/CreateSearch.html +251 -0
- data/doc/Lims/Core/Persistence/Search/SearchPersistor.html +240 -0
- data/doc/Lims/Core/Persistence/Search/SearchSequelPersistor.html +396 -0
- data/doc/Lims/Core/Persistence/Sequel.html +117 -0
- data/doc/Lims/Core/Persistence/Sequel/Filters.html +462 -0
- data/doc/Lims/Core/Persistence/Sequel/ForTest.html +101 -0
- data/doc/Lims/Core/Persistence/Sequel/ForTest/Name.html +137 -0
- data/doc/Lims/Core/Persistence/Sequel/ForTest/Name/NamePersitor.html +143 -0
- data/doc/Lims/Core/Persistence/Sequel/Migrations.html +266 -0
- data/doc/Lims/Core/Persistence/Sequel/Persistor.html +665 -0
- data/doc/Lims/Core/Persistence/Sequel/Session.html +501 -0
- data/doc/Lims/Core/Persistence/Sequel/Store.html +417 -0
- data/doc/Lims/Core/Persistence/Session.html +2751 -0
- data/doc/Lims/Core/Persistence/Session/UnmanagedObjectError.html +111 -0
- data/doc/Lims/Core/Persistence/StateGroup.html +696 -0
- data/doc/Lims/Core/Persistence/StateList.html +498 -0
- data/doc/Lims/Core/Persistence/Store.html +695 -0
- data/doc/Lims/Core/Persistence/UuidResource.html +1044 -0
- data/doc/Lims/Core/Persistence/UuidResource/InvalidUuidError.html +111 -0
- data/doc/Lims/Core/Persistence/UuidResource/UuidResourcePersistor.html +337 -0
- data/doc/Lims/Core/Persistence/Uuidable.html +799 -0
- data/doc/Lims/Core/Persistor.html +320 -0
- data/doc/Lims/Core/Resource.html +165 -0
- data/doc/Object.html +228 -0
- data/doc/SessionSpec.html +101 -0
- data/doc/SessionSpec/Model.html +279 -0
- data/doc/SessionSpec/Model/ModelPersistor.html +327 -0
- data/doc/_index.html +732 -0
- data/doc/class_list.html +47 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +55 -0
- data/doc/css/style.css +322 -0
- data/doc/file.README.html +127 -0
- data/doc/file_list.html +49 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +127 -0
- data/doc/js/app.js +205 -0
- data/doc/js/full_list.js +167 -0
- data/doc/js/jquery.js +16 -0
- data/doc/method_list.html +1894 -0
- data/doc/top-level-namespace.html +100 -0
- data/lib/common.rb +18 -0
- data/lib/lims-core.rb +29 -0
- data/lib/lims-core/actions.rb +10 -0
- data/lib/lims-core/actions/action.rb +185 -0
- data/lib/lims-core/actions/action_group.rb +54 -0
- data/lib/lims-core/actions/bulk_action.rb +65 -0
- data/lib/lims-core/base.rb +132 -0
- data/lib/lims-core/helpers.rb +41 -0
- data/lib/lims-core/persistence.rb +15 -0
- data/lib/lims-core/persistence/comparison_filter.rb +54 -0
- data/lib/lims-core/persistence/filter.rb +23 -0
- data/lib/lims-core/persistence/identity_map.rb +55 -0
- data/lib/lims-core/persistence/logger/all.rb +5 -0
- data/lib/lims-core/persistence/logger/persistor.rb +35 -0
- data/lib/lims-core/persistence/logger/session.rb +30 -0
- data/lib/lims-core/persistence/logger/store.rb +37 -0
- data/lib/lims-core/persistence/message_bus.rb +131 -0
- data/lib/lims-core/persistence/multi_criteria_filter.rb +50 -0
- data/lib/lims-core/persistence/persist_association_trait.rb +96 -0
- data/lib/lims-core/persistence/persistable_trait.rb +150 -0
- data/lib/lims-core/persistence/persistor.rb +495 -0
- data/lib/lims-core/persistence/resource_state.rb +157 -0
- data/lib/lims-core/persistence/search.rb +3 -0
- data/lib/lims-core/persistence/search/all.rb +3 -0
- data/lib/lims-core/persistence/search/create_search.rb +55 -0
- data/lib/lims-core/persistence/search/search_persistor.rb +45 -0
- data/lib/lims-core/persistence/search/search_sequel_persistor.rb +40 -0
- data/lib/lims-core/persistence/sequel.rb +14 -0
- data/lib/lims-core/persistence/sequel/filters.rb +106 -0
- data/lib/lims-core/persistence/sequel/migrations.rb +14 -0
- data/lib/lims-core/persistence/sequel/migrations/add_audit_tables.rb +147 -0
- data/lib/lims-core/persistence/sequel/migrations/initial.rb +156 -0
- data/lib/lims-core/persistence/sequel/persistor.rb +200 -0
- data/lib/lims-core/persistence/sequel/session.rb +136 -0
- data/lib/lims-core/persistence/sequel/store.rb +37 -0
- data/lib/lims-core/persistence/session.rb +409 -0
- data/lib/lims-core/persistence/state_group.rb +97 -0
- data/lib/lims-core/persistence/state_list.rb +56 -0
- data/lib/lims-core/persistence/store.rb +73 -0
- data/lib/lims-core/persistence/uuid_resource.rb +115 -0
- data/lib/lims-core/persistence/uuid_resource_persistor.rb +43 -0
- data/lib/lims-core/persistence/uuidable.rb +107 -0
- data/lib/lims-core/resource.rb +21 -0
- data/lib/lims-core/subclass_tracker.rb +30 -0
- data/lib/lims-core/version.rb +5 -0
- data/lims-core.gemspec +40 -0
- data/makefile +52 -0
- data/showoff/core-2012-06-11/core/01_slide.md +237 -0
- data/showoff/core-2012-06-11/core/02_slide.md +110 -0
- data/showoff/core-2012-06-11/custom.css +44 -0
- data/showoff/core-2012-06-11/main/01_slide.md +53 -0
- data/showoff/core-2012-06-11/showoff.json +10 -0
- data/showoff/core-2012-06-11/tp1.tpl +1 -0
- data/spec/actions/action_group_spec.rb +39 -0
- data/spec/actions/spec_helper.rb +1 -0
- data/spec/persistence/identity_map_spec.rb +55 -0
- data/spec/persistence/logger/spec_helper.rb +7 -0
- data/spec/persistence/logger/store_spec.rb +48 -0
- data/spec/persistence/message_bus_spec.rb +76 -0
- data/spec/persistence/sequel/session_spec.rb +125 -0
- data/spec/persistence/sequel/spec_helper.rb +39 -0
- data/spec/persistence/sequel/store_shared.rb +25 -0
- data/spec/persistence/sequel/store_spec.rb +22 -0
- data/spec/persistence/session_spec.rb +199 -0
- data/spec/persistence/spec_helper.rb +2 -0
- data/spec/persistence/uuid_resource_spec.rb +80 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/subclass_tracker_sperc.rb +62 -0
- data/utils/constant_tree.rb +29 -0
- data/utils/stack.rb +48 -0
- metadata +402 -0
|
@@ -0,0 +1,871 @@
|
|
|
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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
|
+
<title>
|
|
7
|
+
Class: Lims::Core::Persistence::MessageBus
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.7.3
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
relpath = '../../..';
|
|
19
|
+
if (relpath != '') relpath += '/';
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
|
|
23
|
+
|
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</head>
|
|
28
|
+
<body>
|
|
29
|
+
<script type="text/javascript" charset="utf-8">
|
|
30
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<div id="header">
|
|
34
|
+
<div id="menu">
|
|
35
|
+
|
|
36
|
+
<a href="../../../_index.html">Index (M)</a> »
|
|
37
|
+
<span class='title'><span class='object_link'><a href="../../../Lims.html" title="Lims (module)">Lims</a></span></span> » <span class='title'><span class='object_link'><a href="../../Core.html" title="Lims::Core (module)">Core</a></span></span> » <span class='title'><span class='object_link'><a href="../Persistence.html" title="Lims::Core::Persistence (module)">Persistence</a></span></span>
|
|
38
|
+
»
|
|
39
|
+
<span class="title">MessageBus</span>
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div id="search">
|
|
46
|
+
|
|
47
|
+
<a id="class_list_link" href="#">Class List</a>
|
|
48
|
+
|
|
49
|
+
<a id="method_list_link" href="#">Method List</a>
|
|
50
|
+
|
|
51
|
+
<a id="file_list_link" href="#">File List</a>
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<div class="clear"></div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<iframe id="search_frame"></iframe>
|
|
58
|
+
|
|
59
|
+
<div id="content"><h1>Class: Lims::Core::Persistence::MessageBus
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</h1>
|
|
64
|
+
|
|
65
|
+
<dl class="box">
|
|
66
|
+
|
|
67
|
+
<dt class="r1">Inherits:</dt>
|
|
68
|
+
<dd class="r1">
|
|
69
|
+
<span class="inheritName"><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></span>
|
|
70
|
+
|
|
71
|
+
<ul class="fullTree">
|
|
72
|
+
<li><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></li>
|
|
73
|
+
|
|
74
|
+
<li class="next">Lims::Core::Persistence::MessageBus</li>
|
|
75
|
+
|
|
76
|
+
</ul>
|
|
77
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
78
|
+
|
|
79
|
+
</dd>
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<dt class="r2">Includes:</dt>
|
|
87
|
+
<dd class="r2">Aequitas, Virtus</dd>
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
<dt class="r1 last">Defined in:</dt>
|
|
94
|
+
<dd class="r1 last">lib/lims-core/persistence/message_bus.rb</dd>
|
|
95
|
+
|
|
96
|
+
</dl>
|
|
97
|
+
<div class="clear"></div>
|
|
98
|
+
|
|
99
|
+
<h2>Overview</h2><div class="docstring">
|
|
100
|
+
<div class="discussion">
|
|
101
|
+
|
|
102
|
+
<p>Basic methods to publish messages on the bus Use the bunny gem as RabbitMQ
|
|
103
|
+
client</p>
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="tags">
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
</div><h2>Defined Under Namespace</h2>
|
|
112
|
+
<p class="children">
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="MessageBus/ConnectionError.html" title="Lims::Core::Persistence::MessageBus::ConnectionError (class)">ConnectionError</a></span>, <span class='object_link'><a href="MessageBus/InvalidSettingsError.html" title="Lims::Core::Persistence::MessageBus::InvalidSettingsError (class)">InvalidSettingsError</a></span>
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
</p>
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
<h2>
|
|
132
|
+
Instance Method Summary
|
|
133
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
134
|
+
</h2>
|
|
135
|
+
|
|
136
|
+
<ul class="summary">
|
|
137
|
+
|
|
138
|
+
<li class="public ">
|
|
139
|
+
<span class="summary_signature">
|
|
140
|
+
|
|
141
|
+
<a href="#close-instance_method" title="#close (instance method)">- (Object) <strong>close</strong> </a>
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
</span>
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
<span class="summary_desc"><div class='inline'>
|
|
155
|
+
<p>Close the connection.</p>
|
|
156
|
+
</div></span>
|
|
157
|
+
|
|
158
|
+
</li>
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
<li class="public ">
|
|
162
|
+
<span class="summary_signature">
|
|
163
|
+
|
|
164
|
+
<a href="#connect-instance_method" title="#connect (instance method)">- (Object) <strong>connect</strong> </a>
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
</span>
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
<span class="summary_desc"><div class='inline'>
|
|
178
|
+
<p>Create a new connection to the broker using the connection settings.</p>
|
|
179
|
+
</div></span>
|
|
180
|
+
|
|
181
|
+
</li>
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
<li class="public ">
|
|
185
|
+
<span class="summary_signature">
|
|
186
|
+
|
|
187
|
+
<a href="#connection_failure_handler-instance_method" title="#connection_failure_handler (instance method)">- (Object) <strong>connection_failure_handler</strong> </a>
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
</span>
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
<span class="summary_desc"><div class='inline'>
|
|
201
|
+
<p>Executed after a connection loss The exception should be catched and
|
|
202
|
+
rollback the actions.</p>
|
|
203
|
+
</div></span>
|
|
204
|
+
|
|
205
|
+
</li>
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
<li class="public ">
|
|
209
|
+
<span class="summary_signature">
|
|
210
|
+
|
|
211
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (MessageBus) <strong>initialize</strong>(settings = {}) </a>
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
</span>
|
|
216
|
+
|
|
217
|
+
<span class="note title constructor">constructor</span>
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<span class="summary_desc"><div class='inline'>
|
|
227
|
+
<p>Initialize the message bus and check the required options are passed as
|
|
228
|
+
parameters.</p>
|
|
229
|
+
</div></span>
|
|
230
|
+
|
|
231
|
+
</li>
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
<li class="public ">
|
|
235
|
+
<span class="summary_signature">
|
|
236
|
+
|
|
237
|
+
<a href="#publish-instance_method" title="#publish (instance method)">- (Object) <strong>publish</strong>(message, options = {}) </a>
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
</span>
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
<span class="summary_desc"><div class='inline'>
|
|
251
|
+
<p>Publish a message on the bus with the given options The routing key is
|
|
252
|
+
passed in the options.</p>
|
|
253
|
+
</div></span>
|
|
254
|
+
|
|
255
|
+
</li>
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
<li class="private ">
|
|
259
|
+
<span class="summary_signature">
|
|
260
|
+
|
|
261
|
+
<a href="#set_exchange-instance_method" title="#set_exchange (instance method)">- (Object) <strong>set_exchange</strong>(exchange_name, options = {}) </a>
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
</span>
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
<span class="note title private">private</span>
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
<span class="summary_desc"><div class='inline'>
|
|
275
|
+
<p>Create (or get if it already exists) a new topic exchange with the given
|
|
276
|
+
options.</p>
|
|
277
|
+
</div></span>
|
|
278
|
+
|
|
279
|
+
</li>
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
<li class="public ">
|
|
283
|
+
<span class="summary_signature">
|
|
284
|
+
|
|
285
|
+
<a href="#set_message_persistence-instance_method" title="#set_message_persistence (instance method)">- (Object) <strong>set_message_persistence</strong>(persistent) </a>
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
</span>
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
<span class="summary_desc"><div class='inline'>
|
|
299
|
+
<p>Set the message persistence behaviour.</p>
|
|
300
|
+
</div></span>
|
|
301
|
+
|
|
302
|
+
</li>
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
<li class="private ">
|
|
306
|
+
<span class="summary_signature">
|
|
307
|
+
|
|
308
|
+
<a href="#set_prefetch_number-instance_method" title="#set_prefetch_number (instance method)">- (Object) <strong>set_prefetch_number</strong>(number) </a>
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
</span>
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
<span class="note title private">private</span>
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
<span class="summary_desc"><div class='inline'>
|
|
322
|
+
<p>Specifies the number of messages to prefetch.</p>
|
|
323
|
+
</div></span>
|
|
324
|
+
|
|
325
|
+
</li>
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
</ul>
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
<div id="constructor_details" class="method_details_list">
|
|
334
|
+
<h2>Constructor Details</h2>
|
|
335
|
+
|
|
336
|
+
<div class="method_details first">
|
|
337
|
+
<p class="signature first" id="initialize-instance_method">
|
|
338
|
+
|
|
339
|
+
- (<tt><span class='object_link'><a href="" title="Lims::Core::Persistence::MessageBus (class)">MessageBus</a></span></tt>) <strong>initialize</strong>(settings = {})
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
</p><div class="docstring">
|
|
344
|
+
<div class="discussion">
|
|
345
|
+
|
|
346
|
+
<p>Initialize the message bus and check the required options are passed as
|
|
347
|
+
parameters.</p>
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
</div>
|
|
351
|
+
</div>
|
|
352
|
+
<div class="tags">
|
|
353
|
+
<h3>Parameters:</h3>
|
|
354
|
+
<ul class="param">
|
|
355
|
+
|
|
356
|
+
<li>
|
|
357
|
+
|
|
358
|
+
<span class='name'>settings</span>
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
</li>
|
|
368
|
+
|
|
369
|
+
</ul>
|
|
370
|
+
|
|
371
|
+
<h3>Raises:</h3>
|
|
372
|
+
<ul class="raise">
|
|
373
|
+
|
|
374
|
+
<li>
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
<span class='type'>(<tt><span class='object_link'><a href="MessageBus/InvalidSettingsError.html" title="Lims::Core::Persistence::MessageBus::InvalidSettingsError (class)">InvalidSettingsError</a></span></tt>)</span>
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
</li>
|
|
382
|
+
|
|
383
|
+
</ul>
|
|
384
|
+
|
|
385
|
+
</div><table class="source_code">
|
|
386
|
+
<tr>
|
|
387
|
+
<td>
|
|
388
|
+
<pre class="lines">
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
34
|
|
392
|
+
35
|
|
393
|
+
36
|
|
394
|
+
37
|
|
395
|
+
38
|
|
396
|
+
39
|
|
397
|
+
40
|
|
398
|
+
41
|
|
399
|
+
42</pre>
|
|
400
|
+
</td>
|
|
401
|
+
<td>
|
|
402
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 34</span>
|
|
403
|
+
|
|
404
|
+
<span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id settings'>settings</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
405
|
+
<span class='id raise'>raise</span> <span class='const'>InvalidSettingsError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>MessageBug settings are empty</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id settings'>settings</span> <span class='op'>==</span> <span class='kw'>nil</span>
|
|
406
|
+
<span class='ivar'>@heart_beat</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>heart_beat</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
|
407
|
+
<span class='ivar'>@connection_uri</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>url</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
|
408
|
+
<span class='ivar'>@exchange_name</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>exchange_name</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
|
409
|
+
<span class='ivar'>@exchange_type</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>exchange_type</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>topic</span><span class='tstring_end'>"</span></span>
|
|
410
|
+
<span class='ivar'>@durable</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>durable</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
|
411
|
+
<span class='ivar'>@prefetch_number</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>prefetch_number</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
|
412
|
+
<span class='kw'>end</span></pre>
|
|
413
|
+
</td>
|
|
414
|
+
</tr>
|
|
415
|
+
</table>
|
|
416
|
+
</div>
|
|
417
|
+
|
|
418
|
+
</div>
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
<div id="instance_method_details" class="method_details_list">
|
|
422
|
+
<h2>Instance Method Details</h2>
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
<div class="method_details first">
|
|
426
|
+
<p class="signature first" id="close-instance_method">
|
|
427
|
+
|
|
428
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>close</strong>
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
</p><div class="docstring">
|
|
433
|
+
<div class="discussion">
|
|
434
|
+
|
|
435
|
+
<p>Close the connection</p>
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
</div>
|
|
439
|
+
</div>
|
|
440
|
+
<div class="tags">
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
</div><table class="source_code">
|
|
444
|
+
<tr>
|
|
445
|
+
<td>
|
|
446
|
+
<pre class="lines">
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
73
|
|
450
|
+
74
|
|
451
|
+
75</pre>
|
|
452
|
+
</td>
|
|
453
|
+
<td>
|
|
454
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 73</span>
|
|
455
|
+
|
|
456
|
+
<span class='kw'>def</span> <span class='id close'>close</span>
|
|
457
|
+
<span class='ivar'>@connection</span><span class='period'>.</span><span class='id close'>close</span>
|
|
458
|
+
<span class='kw'>end</span></pre>
|
|
459
|
+
</td>
|
|
460
|
+
</tr>
|
|
461
|
+
</table>
|
|
462
|
+
</div>
|
|
463
|
+
|
|
464
|
+
<div class="method_details ">
|
|
465
|
+
<p class="signature " id="connect-instance_method">
|
|
466
|
+
|
|
467
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>connect</strong>
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
</p><div class="docstring">
|
|
472
|
+
<div class="discussion">
|
|
473
|
+
|
|
474
|
+
<p>Create a new connection to the broker using the connection settings. Create
|
|
475
|
+
a channel and setup a new exchange.</p>
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
</div>
|
|
479
|
+
</div>
|
|
480
|
+
<div class="tags">
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
</div><table class="source_code">
|
|
484
|
+
<tr>
|
|
485
|
+
<td>
|
|
486
|
+
<pre class="lines">
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
55
|
|
490
|
+
56
|
|
491
|
+
57
|
|
492
|
+
58
|
|
493
|
+
59
|
|
494
|
+
60
|
|
495
|
+
61
|
|
496
|
+
62
|
|
497
|
+
63
|
|
498
|
+
64
|
|
499
|
+
65
|
|
500
|
+
66
|
|
501
|
+
67
|
|
502
|
+
68
|
|
503
|
+
69
|
|
504
|
+
70</pre>
|
|
505
|
+
</td>
|
|
506
|
+
<td>
|
|
507
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 55</span>
|
|
508
|
+
|
|
509
|
+
<span class='kw'>def</span> <span class='id connect'>connect</span>
|
|
510
|
+
<span class='kw'>begin</span>
|
|
511
|
+
<span class='kw'>if</span> <span class='id valid?'>valid?</span>
|
|
512
|
+
<span class='id options'>options</span> <span class='op'>=</span> <span class='ivar'>@heart_beat</span> <span class='op'>?</span> <span class='lbrace'>{</span> <span class='symbol'>:heartbeat</span> <span class='op'>=></span> <span class='id heart_beat'>heart_beat</span> <span class='rbrace'>}</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|
513
|
+
<span class='ivar'>@connection</span> <span class='op'>=</span> <span class='const'>Bunny</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id connection_uri'>connection_uri</span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
|
|
514
|
+
<span class='ivar'>@connection</span><span class='period'>.</span><span class='id start'>start</span>
|
|
515
|
+
<span class='ivar'>@channel</span> <span class='op'>=</span> <span class='ivar'>@connection</span><span class='period'>.</span><span class='id create_channel'>create_channel</span>
|
|
516
|
+
<span class='id set_prefetch_number'>set_prefetch_number</span><span class='lparen'>(</span><span class='id prefetch_number'>prefetch_number</span><span class='rparen'>)</span>
|
|
517
|
+
<span class='id set_exchange'>set_exchange</span><span class='lparen'>(</span><span class='id exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='symbol'>:durable</span> <span class='op'>=></span> <span class='id durable'>durable</span><span class='rparen'>)</span>
|
|
518
|
+
<span class='kw'>else</span>
|
|
519
|
+
<span class='id raise'>raise</span> <span class='const'>InvalidSettingsError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>settings are invalid</span><span class='tstring_end'>"</span></span>
|
|
520
|
+
<span class='kw'>end</span>
|
|
521
|
+
<span class='kw'>rescue</span> <span class='const'>Bunny</span><span class='op'>::</span><span class='const'>TCPConnectionFailed</span><span class='comma'>,</span> <span class='const'>Bunny</span><span class='op'>::</span><span class='const'>PossibleAuthenticationFailureError</span> <span class='op'>=></span> <span class='id e'>e</span>
|
|
522
|
+
<span class='id connection_failure_handler'>connection_failure_handler</span><span class='period'>.</span><span class='id call'>call</span>
|
|
523
|
+
<span class='kw'>end</span>
|
|
524
|
+
<span class='kw'>end</span></pre>
|
|
525
|
+
</td>
|
|
526
|
+
</tr>
|
|
527
|
+
</table>
|
|
528
|
+
</div>
|
|
529
|
+
|
|
530
|
+
<div class="method_details ">
|
|
531
|
+
<p class="signature " id="connection_failure_handler-instance_method">
|
|
532
|
+
|
|
533
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>connection_failure_handler</strong>
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
</p><div class="docstring">
|
|
538
|
+
<div class="discussion">
|
|
539
|
+
|
|
540
|
+
<p>Executed after a connection loss The exception should be catched and
|
|
541
|
+
rollback the actions.</p>
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
</div>
|
|
545
|
+
</div>
|
|
546
|
+
<div class="tags">
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
</div><table class="source_code">
|
|
550
|
+
<tr>
|
|
551
|
+
<td>
|
|
552
|
+
<pre class="lines">
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
46
|
|
556
|
+
47
|
|
557
|
+
48
|
|
558
|
+
49
|
|
559
|
+
50</pre>
|
|
560
|
+
</td>
|
|
561
|
+
<td>
|
|
562
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 46</span>
|
|
563
|
+
|
|
564
|
+
<span class='kw'>def</span> <span class='id connection_failure_handler'>connection_failure_handler</span>
|
|
565
|
+
<span class='const'>Proc</span><span class='period'>.</span><span class='id new'>new</span> <span class='kw'>do</span>
|
|
566
|
+
<span class='id raise'>raise</span> <span class='const'>ConnectionError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>can't connect to RabbitMQ server</span><span class='tstring_end'>"</span></span>
|
|
567
|
+
<span class='kw'>end</span>
|
|
568
|
+
<span class='kw'>end</span></pre>
|
|
569
|
+
</td>
|
|
570
|
+
</tr>
|
|
571
|
+
</table>
|
|
572
|
+
</div>
|
|
573
|
+
|
|
574
|
+
<div class="method_details ">
|
|
575
|
+
<p class="signature " id="publish-instance_method">
|
|
576
|
+
|
|
577
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>publish</strong>(message, options = {})
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
</p><div class="docstring">
|
|
582
|
+
<div class="discussion">
|
|
583
|
+
|
|
584
|
+
<p>Publish a message on the bus with the given options The routing key is
|
|
585
|
+
passed in the options.</p>
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
</div>
|
|
589
|
+
</div>
|
|
590
|
+
<div class="tags">
|
|
591
|
+
<h3>Parameters:</h3>
|
|
592
|
+
<ul class="param">
|
|
593
|
+
|
|
594
|
+
<li>
|
|
595
|
+
|
|
596
|
+
<span class='name'>JSON</span>
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
—
|
|
604
|
+
<div class='inline'>
|
|
605
|
+
<p>message</p>
|
|
606
|
+
</div>
|
|
607
|
+
|
|
608
|
+
</li>
|
|
609
|
+
|
|
610
|
+
<li>
|
|
611
|
+
|
|
612
|
+
<span class='name'>publishing</span>
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
—
|
|
620
|
+
<div class='inline'>
|
|
621
|
+
<p>options</p>
|
|
622
|
+
</div>
|
|
623
|
+
|
|
624
|
+
</li>
|
|
625
|
+
|
|
626
|
+
</ul>
|
|
627
|
+
|
|
628
|
+
<h3>Raises:</h3>
|
|
629
|
+
<ul class="raise">
|
|
630
|
+
|
|
631
|
+
<li>
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
<span class='type'>(<tt><span class='object_link'><a href="MessageBus/ConnectionError.html" title="Lims::Core::Persistence::MessageBus::ConnectionError (class)">ConnectionError</a></span></tt>)</span>
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
</li>
|
|
639
|
+
|
|
640
|
+
</ul>
|
|
641
|
+
|
|
642
|
+
</div><table class="source_code">
|
|
643
|
+
<tr>
|
|
644
|
+
<td>
|
|
645
|
+
<pre class="lines">
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
112
|
|
649
|
+
113
|
|
650
|
+
114
|
|
651
|
+
115
|
|
652
|
+
116
|
|
653
|
+
117</pre>
|
|
654
|
+
</td>
|
|
655
|
+
<td>
|
|
656
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 112</span>
|
|
657
|
+
|
|
658
|
+
<span class='kw'>def</span> <span class='id publish'>publish</span><span class='lparen'>(</span><span class='id message'>message</span><span class='comma'>,</span> <span class='id options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
659
|
+
<span class='id raise'>raise</span> <span class='const'>ConnectionError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>exchange is not reachable</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='ivar'>@exchange</span><span class='period'>.</span><span class='id instance_of?'>instance_of?</span><span class='lparen'>(</span><span class='const'>Bunny</span><span class='op'>::</span><span class='const'>Exchange</span><span class='rparen'>)</span>
|
|
660
|
+
|
|
661
|
+
<span class='id options'>options</span><span class='period'>.</span><span class='id merge!'>merge!</span><span class='lparen'>(</span><span class='symbol'>:persistent</span> <span class='op'>=></span> <span class='ivar'>@message_persistence</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@message_persistence</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
|
662
|
+
<span class='ivar'>@exchange</span><span class='period'>.</span><span class='id publish'>publish</span><span class='lparen'>(</span><span class='id message'>message</span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
|
|
663
|
+
<span class='kw'>end</span></pre>
|
|
664
|
+
</td>
|
|
665
|
+
</tr>
|
|
666
|
+
</table>
|
|
667
|
+
</div>
|
|
668
|
+
|
|
669
|
+
<div class="method_details ">
|
|
670
|
+
<p class="signature " id="set_exchange-instance_method">
|
|
671
|
+
|
|
672
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>set_exchange</strong>(exchange_name, options = {}) <span class="extras">(private)</span>
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
</p><div class="docstring">
|
|
677
|
+
<div class="discussion">
|
|
678
|
+
|
|
679
|
+
<p>Create (or get if it already exists) a new topic exchange with the given
|
|
680
|
+
options. Especially, the durable option can be set here to mark the
|
|
681
|
+
exchange as durable (survive a server restart)</p>
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
</div>
|
|
685
|
+
</div>
|
|
686
|
+
<div class="tags">
|
|
687
|
+
<h3>Parameters:</h3>
|
|
688
|
+
<ul class="param">
|
|
689
|
+
|
|
690
|
+
<li>
|
|
691
|
+
|
|
692
|
+
<span class='name'>name</span>
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
</li>
|
|
700
|
+
|
|
701
|
+
<li>
|
|
702
|
+
|
|
703
|
+
<span class='name'>exchange</span>
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
—
|
|
711
|
+
<div class='inline'>
|
|
712
|
+
<p>options</p>
|
|
713
|
+
</div>
|
|
714
|
+
|
|
715
|
+
</li>
|
|
716
|
+
|
|
717
|
+
</ul>
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
</div><table class="source_code">
|
|
721
|
+
<tr>
|
|
722
|
+
<td>
|
|
723
|
+
<pre class="lines">
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
83
|
|
727
|
+
84
|
|
728
|
+
85</pre>
|
|
729
|
+
</td>
|
|
730
|
+
<td>
|
|
731
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 83</span>
|
|
732
|
+
|
|
733
|
+
<span class='kw'>def</span> <span class='id set_exchange'>set_exchange</span><span class='lparen'>(</span><span class='id exchange_name'>exchange_name</span><span class='comma'>,</span> <span class='id options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
734
|
+
<span class='ivar'>@exchange</span> <span class='op'>=</span> <span class='const'>Bunny</span><span class='op'>::</span><span class='const'>Exchange</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='ivar'>@channel</span><span class='comma'>,</span> <span class='id exchange_type'>exchange_type</span><span class='period'>.</span><span class='id to_sym'>to_sym</span><span class='comma'>,</span> <span class='id exchange_name'>exchange_name</span> <span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
|
|
735
|
+
<span class='kw'>end</span></pre>
|
|
736
|
+
</td>
|
|
737
|
+
</tr>
|
|
738
|
+
</table>
|
|
739
|
+
</div>
|
|
740
|
+
|
|
741
|
+
<div class="method_details ">
|
|
742
|
+
<p class="signature " id="set_message_persistence-instance_method">
|
|
743
|
+
|
|
744
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>set_message_persistence</strong>(persistent)
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
</p><div class="docstring">
|
|
749
|
+
<div class="discussion">
|
|
750
|
+
|
|
751
|
+
<p>Set the message persistence behaviour. If persistent, the message will be
|
|
752
|
+
persisted to disk and remain in the queue until it is consumed. Survive a
|
|
753
|
+
server restart. BUNNY ISSUE: bunny0.9pre4 hardcodes the persistent option.
|
|
754
|
+
It is set all the time, meaning the messages will survive a server
|
|
755
|
+
restart, if the queue and the exchange are durable.</p>
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
</div>
|
|
759
|
+
</div>
|
|
760
|
+
<div class="tags">
|
|
761
|
+
<h3>Parameters:</h3>
|
|
762
|
+
<ul class="param">
|
|
763
|
+
|
|
764
|
+
<li>
|
|
765
|
+
|
|
766
|
+
<span class='name'>persistence</span>
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
<span class='type'>(<tt>Bool</tt>)</span>
|
|
770
|
+
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
</li>
|
|
774
|
+
|
|
775
|
+
</ul>
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
<h3>See Also:</h3>
|
|
779
|
+
<ul class="see">
|
|
780
|
+
|
|
781
|
+
<li>:delivery_mode => 2</li>
|
|
782
|
+
|
|
783
|
+
</ul>
|
|
784
|
+
|
|
785
|
+
</div><table class="source_code">
|
|
786
|
+
<tr>
|
|
787
|
+
<td>
|
|
788
|
+
<pre class="lines">
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
104
|
|
792
|
+
105
|
|
793
|
+
106</pre>
|
|
794
|
+
</td>
|
|
795
|
+
<td>
|
|
796
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 104</span>
|
|
797
|
+
|
|
798
|
+
<span class='kw'>def</span> <span class='id set_message_persistence'>set_message_persistence</span><span class='lparen'>(</span><span class='id persistent'>persistent</span><span class='rparen'>)</span>
|
|
799
|
+
<span class='ivar'>@message_persistence</span> <span class='op'>=</span> <span class='id persistent'>persistent</span>
|
|
800
|
+
<span class='kw'>end</span></pre>
|
|
801
|
+
</td>
|
|
802
|
+
</tr>
|
|
803
|
+
</table>
|
|
804
|
+
</div>
|
|
805
|
+
|
|
806
|
+
<div class="method_details ">
|
|
807
|
+
<p class="signature " id="set_prefetch_number-instance_method">
|
|
808
|
+
|
|
809
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>set_prefetch_number</strong>(number) <span class="extras">(private)</span>
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
</p><div class="docstring">
|
|
814
|
+
<div class="discussion">
|
|
815
|
+
|
|
816
|
+
<p>Specifies the number of messages to prefetch.</p>
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
</div>
|
|
820
|
+
</div>
|
|
821
|
+
<div class="tags">
|
|
822
|
+
<h3>Parameters:</h3>
|
|
823
|
+
<ul class="param">
|
|
824
|
+
|
|
825
|
+
<li>
|
|
826
|
+
|
|
827
|
+
<span class='name'>number</span>
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
<span class='type'>(<tt>int</tt>)</span>
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
—
|
|
835
|
+
<div class='inline'>
|
|
836
|
+
<p>of messages to prefetch</p>
|
|
837
|
+
</div>
|
|
838
|
+
|
|
839
|
+
</li>
|
|
840
|
+
|
|
841
|
+
</ul>
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
</div><table class="source_code">
|
|
845
|
+
<tr>
|
|
846
|
+
<td>
|
|
847
|
+
<pre class="lines">
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
90
|
|
851
|
+
91
|
|
852
|
+
92</pre>
|
|
853
|
+
</td>
|
|
854
|
+
<td>
|
|
855
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/message_bus.rb', line 90</span>
|
|
856
|
+
|
|
857
|
+
<span class='kw'>def</span> <span class='id set_prefetch_number'>set_prefetch_number</span><span class='lparen'>(</span><span class='id number'>number</span><span class='rparen'>)</span>
|
|
858
|
+
<span class='ivar'>@channel</span><span class='period'>.</span><span class='id prefetch'>prefetch</span><span class='lparen'>(</span><span class='id number'>number</span><span class='rparen'>)</span>
|
|
859
|
+
<span class='kw'>end</span></pre>
|
|
860
|
+
</td>
|
|
861
|
+
</tr>
|
|
862
|
+
</table>
|
|
863
|
+
</div>
|
|
864
|
+
|
|
865
|
+
</div>
|
|
866
|
+
|
|
867
|
+
</div>
|
|
868
|
+
|
|
869
|
+
|
|
870
|
+
</body>
|
|
871
|
+
</html>
|