aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--_sources/protocol.txt1
-rw-r--r--_static/pygments.css2
-rw-r--r--api.html2
-rw-r--r--client.html2
-rw-r--r--client/messages.html16
-rw-r--r--contributing.html2
-rw-r--r--exceptions.html2
-rw-r--r--genindex.html10
-rw-r--r--index.html2
-rw-r--r--jobmanager.html2
-rw-r--r--objects.invbin1427 -> 1437 bytes
-rw-r--r--poller.html2
-rw-r--r--protocol.html13
-rw-r--r--py-modindex.html2
-rw-r--r--receiver.html2
-rw-r--r--router.html10
-rw-r--r--search.html2
-rw-r--r--searchindex.js2
-rw-r--r--sender.html2
-rw-r--r--settings_file.html2
-rw-r--r--using.html2
-rw-r--r--utils/classes.html2
-rw-r--r--utils/devices.html2
-rw-r--r--utils/index.html2
-rw-r--r--utils/messages.html2
-rw-r--r--utils/settings.html2
-rw-r--r--utils/timeutils.html2
27 files changed, 60 insertions, 32 deletions
diff --git a/_sources/protocol.txt b/_sources/protocol.txt
index 44544d6..015f5fb 100644
--- a/_sources/protocol.txt
+++ b/_sources/protocol.txt
@@ -227,6 +227,7 @@ Header REQUEST PUBLISH SCHEDULE Default Description
227================= ======= ======= ======== ======= =========== 227================= ======= ======= ======== ======= ===========
228reply-requested X False Once the job is finished, send a reply back with information from the job. If there is no information reply with a True value. 228reply-requested X False Once the job is finished, send a reply back with information from the job. If there is no information reply with a True value.
229retry-count:# X 0 Retry a failed job this many times before accepting defeat. 229retry-count:# X 0 Retry a failed job this many times before accepting defeat.
230timeout:# X 0 Kill the job after X seconds, defaults to never timing out (0)
230guarantee X False Ensure the job completes by letting someone else worry about a success reply. 231guarantee X False Ensure the job completes by letting someone else worry about a success reply.
231nohaste X False When scheduling a job, set this to True if you don't want the job to run immediately as it's scheduled. Instead, it will run for the first time when the interval has elapsed. 232nohaste X False When scheduling a job, set this to True if you don't want the job to run immediately as it's scheduled. Instead, it will run for the first time when the interval has elapsed.
232================= ======= ======= ======== ======= =========== 233================= ======= ======= ======== ======= ===========
diff --git a/_static/pygments.css b/_static/pygments.css
index 57eadc0..8213e90 100644
--- a/_static/pygments.css
+++ b/_static/pygments.css
@@ -4,8 +4,10 @@
4.highlight .err { border: 1px solid #FF0000 } /* Error */ 4.highlight .err { border: 1px solid #FF0000 } /* Error */
5.highlight .k { color: #007020; font-weight: bold } /* Keyword */ 5.highlight .k { color: #007020; font-weight: bold } /* Keyword */
6.highlight .o { color: #666666 } /* Operator */ 6.highlight .o { color: #666666 } /* Operator */
7.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
7.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ 8.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
8.highlight .cp { color: #007020 } /* Comment.Preproc */ 9.highlight .cp { color: #007020 } /* Comment.Preproc */
10.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
9.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ 11.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
10.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ 12.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
11.highlight .gd { color: #A00000 } /* Generic.Deleted */ 13.highlight .gd { color: #A00000 } /* Generic.Deleted */
diff --git a/api.html b/api.html
index dafc27d..073f1a6 100644
--- a/api.html
+++ b/api.html
@@ -60,7 +60,7 @@
60 60
61 61
62 <div class="version"> 62 <div class="version">
63 0.2.6.5 63 0.2.7
64 </div> 64 </div>
65 65
66 66
diff --git a/client.html b/client.html
index 32c60fe..aef623b 100644
--- a/client.html
+++ b/client.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/client/messages.html b/client/messages.html
index 6e4b75c..d0cbb95 100644
--- a/client/messages.html
+++ b/client/messages.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
@@ -151,7 +151,7 @@
151<h1><code class="xref py py-mod docutils literal"><span class="pre">messages</span></code> &#8211; Client Messaging<a class="headerlink" href="#messages-client-messaging" title="Permalink to this headline">¶</a></h1> 151<h1><code class="xref py py-mod docutils literal"><span class="pre">messages</span></code> &#8211; Client Messaging<a class="headerlink" href="#messages-client-messaging" title="Permalink to this headline">¶</a></h1>
152<dl class="function"> 152<dl class="function">
153<dt id="eventmq.client.messages.defer_job"> 153<dt id="eventmq.client.messages.defer_job">
154<code class="descclassname">eventmq.client.messages.</code><code class="descname">defer_job</code><span class="sig-paren">(</span><em>socket</em>, <em>func</em>, <em>wrapper=None</em>, <em>args=()</em>, <em>kwargs=None</em>, <em>class_args=()</em>, <em>class_kwargs=None</em>, <em>reply_requested=False</em>, <em>guarantee=False</em>, <em>retry_count=0</em>, <em>debounce_secs=False</em>, <em>queue='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.defer_job" title="Permalink to this definition">¶</a></dt> 154<code class="descclassname">eventmq.client.messages.</code><code class="descname">defer_job</code><span class="sig-paren">(</span><em>socket</em>, <em>func</em>, <em>wrapper=None</em>, <em>args=()</em>, <em>kwargs=None</em>, <em>class_args=()</em>, <em>class_kwargs=None</em>, <em>reply_requested=False</em>, <em>guarantee=False</em>, <em>retry_count=0</em>, <em>timeout=0</em>, <em>debounce_secs=False</em>, <em>queue='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.defer_job" title="Permalink to this definition">¶</a></dt>
155<dd><p>Used to send a job to a worker to execute via <cite>socket</cite>.</p> 155<dd><p>Used to send a job to a worker to execute via <cite>socket</cite>.</p>
156<p>This tries not to raise any exceptions so use some of the message flags to 156<p>This tries not to raise any exceptions so use some of the message flags to
157guarentee things.</p> 157guarentee things.</p>
@@ -165,7 +165,8 @@ guarentee things.</p>
165<tbody valign="top"> 165<tbody valign="top">
166<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> 166<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
167<li><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) &#8211; eventmq socket to use for sending the message</li> 167<li><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) &#8211; eventmq socket to use for sending the message</li>
168<li><strong>func</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#callable" title="(in Python v2.7)"><em>callable</em></a>) &#8211; the callable to be deferred to a worker</li> 168<li><strong>func</strong> (<em>callable or str</em>) &#8211; the callable (or string path to callable) to be
169deferred to a worker</li>
169<li><strong>wrapper</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#callable" title="(in Python v2.7)"><em>callable</em></a>) &#8211; optional wrapper for the call to func to be 170<li><strong>wrapper</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#callable" title="(in Python v2.7)"><em>callable</em></a>) &#8211; optional wrapper for the call to func to be
170wrapped with</li> 171wrapped with</li>
171<li><strong>args</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) &#8211; list of <a href="#id1"><span class="problematic" id="id2">*</span></a>args for the callable</li> 172<li><strong>args</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) &#8211; list of <a href="#id1"><span class="problematic" id="id2">*</span></a>args for the callable</li>
@@ -178,6 +179,8 @@ initializing (if applicable).</li>
178<li><strong>retry_count</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How many times should be retried when encountering 179<li><strong>retry_count</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How many times should be retried when encountering
179an Exception or some other failure before giving up. (default: 0 180an Exception or some other failure before giving up. (default: 0
180or immediately fail)</li> 181or immediately fail)</li>
182<li><strong>timeout</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How many seconds should we wait before killing the job
183default: 0 which means infinite timeout</li>
181<li><strong>debounce_secs</strong> (<em>secs</em>) &#8211; Number of seconds to debounce the job. See 184<li><strong>debounce_secs</strong> (<em>secs</em>) &#8211; Number of seconds to debounce the job. See
182<cite>debounce_deferred_job</cite> for more information.</li> 185<cite>debounce_deferred_job</cite> for more information.</li>
183<li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Name of queue to use when executing the job. If this value 186<li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Name of queue to use when executing the job. If this value
@@ -215,7 +218,8 @@ was an error.</p>
215<tbody valign="top"> 218<tbody valign="top">
216<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> 219<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
217<li><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) &#8211; eventmq socket to use for sending the message</li> 220<li><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) &#8211; eventmq socket to use for sending the message</li>
218<li><strong>func</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#callable" title="(in Python v2.7)"><em>callable</em></a>) &#8211; the callable to be scheduled on a worker</li> 221<li><strong>func</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#callable" title="(in Python v2.7)"><em>callable</em></a>) &#8211; the callable (or string path to calable) to be
222scheduled on a worker</li>
219<li><strong>minutes</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; minutes to wait in between executions</li> 223<li><strong>minutes</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; minutes to wait in between executions</li>
220<li><strong>args</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) &#8211; list of <a href="#id9"><span class="problematic" id="id10">*</span></a>args to pass to the callable</li> 224<li><strong>args</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) &#8211; list of <a href="#id9"><span class="problematic" id="id10">*</span></a>args to pass to the callable</li>
221<li><strong>interval_secs</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; Run job every interval_secs or None if using cron</li> 225<li><strong>interval_secs</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; Run job every interval_secs or None if using cron</li>
@@ -249,7 +253,7 @@ error</p>
249 253
250<dl class="function"> 254<dl class="function">
251<dt id="eventmq.client.messages.send_request"> 255<dt id="eventmq.client.messages.send_request">
252<code class="descclassname">eventmq.client.messages.</code><code class="descname">send_request</code><span class="sig-paren">(</span><em>socket</em>, <em>message</em>, <em>reply_requested=False</em>, <em>guarantee=False</em>, <em>retry_count=0</em>, <em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.send_request" title="Permalink to this definition">¶</a></dt> 256<code class="descclassname">eventmq.client.messages.</code><code class="descname">send_request</code><span class="sig-paren">(</span><em>socket</em>, <em>message</em>, <em>reply_requested=False</em>, <em>guarantee=False</em>, <em>retry_count=0</em>, <em>timeout=0</em>, <em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.send_request" title="Permalink to this definition">¶</a></dt>
253<dd><p>Send a REQUEST command.</p> 257<dd><p>Send a REQUEST command.</p>
254<p>Default headers are always all disabled by default. If they are included in 258<p>Default headers are always all disabled by default. If they are included in
255the headers then they have been enabled.</p> 259the headers then they have been enabled.</p>
@@ -289,6 +293,8 @@ the headers then they have been enabled.</p>
289<li><strong>retry_count</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How many times should be retried when encountering 293<li><strong>retry_count</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How many times should be retried when encountering
290an Exception or some other failure before giving up. (default: 0 294an Exception or some other failure before giving up. (default: 0
291or immediatly fail)</li> 295or immediatly fail)</li>
296<li><strong>timeout</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) &#8211; How many seconds should we wait before killing the job
297default: 0 which means infinite timeout</li>
292<li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Name of queue to use when executing the job. Default: is 298<li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) &#8211; Name of queue to use when executing the job. Default: is
293configured default queue name</li> 299configured default queue name</li>
294</ul> 300</ul>
diff --git a/contributing.html b/contributing.html
index 8d107f7..954d1b3 100644
--- a/contributing.html
+++ b/contributing.html
@@ -60,7 +60,7 @@
60 60
61 61
62 <div class="version"> 62 <div class="version">
63 0.2.6.5 63 0.2.7
64 </div> 64 </div>
65 65
66 66
diff --git a/exceptions.html b/exceptions.html
index 98debb3..7893844 100644
--- a/exceptions.html
+++ b/exceptions.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/genindex.html b/genindex.html
index 9eadd75..fbd6f40 100644
--- a/genindex.html
+++ b/genindex.html
@@ -59,7 +59,7 @@
59 59
60 60
61 <div class="version"> 61 <div class="version">
62 0.2.6.5 62 0.2.7
63 </div> 63 </div>
64 64
65 65
@@ -325,12 +325,12 @@
325 <dt><a href="router.html#module-eventmq.router">eventmq.router (module)</a> 325 <dt><a href="router.html#module-eventmq.router">eventmq.router (module)</a>
326 </dt> 326 </dt>
327 327
328 </dl></td>
329 <td style="width: 33%" valign="top"><dl>
330 328
331 <dt><a href="sender.html#module-eventmq.sender">eventmq.sender (module)</a> 329 <dt><a href="sender.html#module-eventmq.sender">eventmq.sender (module)</a>
332 </dt> 330 </dt>
333 331
332 </dl></td>
333 <td style="width: 33%" valign="top"><dl>
334 334
335 <dt><a href="utils/index.html#module-eventmq.utils">eventmq.utils (module)</a> 335 <dt><a href="utils/index.html#module-eventmq.utils">eventmq.utils (module)</a>
336 </dt> 336 </dt>
@@ -360,6 +360,10 @@
360 </dt> 360 </dt>
361 361
362 362
363 <dt><a href="router.html#eventmq.router.Router.executed_functions">executed_functions (eventmq.router.Router attribute)</a>
364 </dt>
365
366
363 <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.extend">extend() (eventmq.utils.classes.EMQdeque method)</a> 367 <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.extend">extend() (eventmq.utils.classes.EMQdeque method)</a>
364 </dt> 368 </dt>
365 369
diff --git a/index.html b/index.html
index 263129e..b2d1c08 100644
--- a/index.html
+++ b/index.html
@@ -59,7 +59,7 @@
59 59
60 60
61 <div class="version"> 61 <div class="version">
62 0.2.6.5 62 0.2.7
63 </div> 63 </div>
64 64
65 65
diff --git a/jobmanager.html b/jobmanager.html
index 349530e..f6bc0a8 100644
--- a/jobmanager.html
+++ b/jobmanager.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/objects.inv b/objects.inv
index ae3e3c5..7d0d75e 100644
--- a/objects.inv
+++ b/objects.inv
Binary files differ
diff --git a/poller.html b/poller.html
index e194f10..ab58f21 100644
--- a/poller.html
+++ b/poller.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/protocol.html b/protocol.html
index 92e084d..ea5405d 100644
--- a/protocol.html
+++ b/protocol.html
@@ -60,7 +60,7 @@
60 60
61 61
62 <div class="version"> 62 <div class="version">
63 0.2.6.5 63 0.2.7
64 </div> 64 </div>
65 65
66 66
@@ -717,14 +717,21 @@
717<td>0</td> 717<td>0</td>
718<td>Retry a failed job this many times before accepting defeat.</td> 718<td>Retry a failed job this many times before accepting defeat.</td>
719</tr> 719</tr>
720<tr class="row-even"><td>guarantee</td> 720<tr class="row-even"><td>timeout:#</td>
721<td>X</td>
722<td>&nbsp;</td>
723<td>&nbsp;</td>
724<td>0</td>
725<td>Kill the job after X seconds, defaults to never timing out (0)</td>
726</tr>
727<tr class="row-odd"><td>guarantee</td>
721<td>X</td> 728<td>X</td>
722<td>&nbsp;</td> 729<td>&nbsp;</td>
723<td>&nbsp;</td> 730<td>&nbsp;</td>
724<td>False</td> 731<td>False</td>
725<td>Ensure the job completes by letting someone else worry about a success reply.</td> 732<td>Ensure the job completes by letting someone else worry about a success reply.</td>
726</tr> 733</tr>
727<tr class="row-odd"><td>nohaste</td> 734<tr class="row-even"><td>nohaste</td>
728<td>&nbsp;</td> 735<td>&nbsp;</td>
729<td>&nbsp;</td> 736<td>&nbsp;</td>
730<td>X</td> 737<td>X</td>
diff --git a/py-modindex.html b/py-modindex.html
index b0fadf1..d1f8956 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/receiver.html b/receiver.html
index 8a5c973..5997c86 100644
--- a/receiver.html
+++ b/receiver.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/router.html b/router.html
index 6c6e29e..cc9802a 100644
--- a/router.html
+++ b/router.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
@@ -195,6 +195,14 @@ the router hasn&#8217;t received a heartbeat in HEARTBEAT_TIMEOUT</p>
195responded in HEARTBEAT_TIMEOUT</p> 195responded in HEARTBEAT_TIMEOUT</p>
196</dd></dl> 196</dd></dl>
197 197
198<dl class="attribute">
199<dt id="eventmq.router.Router.executed_functions">
200<code class="descname">executed_functions</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.router.Router.executed_functions" title="Permalink to this definition">¶</a></dt>
201<dd><p>Excecuted function tracking dictionary
202Key: msgid of message each REQUEST received and forwarded to a worker
203Value: (function_name, queue_name)</p>
204</dd></dl>
205
198<dl class="method"> 206<dl class="method">
199<dt id="eventmq.router.Router.get_available_worker"> 207<dt id="eventmq.router.Router.get_available_worker">
200<code class="descname">get_available_worker</code><span class="sig-paren">(</span><em>queue_name='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.get_available_worker" title="Permalink to this definition">¶</a></dt> 208<code class="descname">get_available_worker</code><span class="sig-paren">(</span><em>queue_name='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.get_available_worker" title="Permalink to this definition">¶</a></dt>
diff --git a/search.html b/search.html
index f61df01..ca6c474 100644
--- a/search.html
+++ b/search.html
@@ -58,7 +58,7 @@
58 58
59 59
60 <div class="version"> 60 <div class="version">
61 0.2.6.5 61 0.2.7
62 </div> 62 </div>
63 63
64 64
diff --git a/searchindex.js b/searchindex.js
index e279406..41efe4e 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
Search.setIndex({envversion:46,filenames:["api","client","client/messages","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","settings_file","using","utils/classes","utils/devices","utils/index","utils/messages","utils/settings","utils/timeutils"],objects:{"eventmq.client":{messages:[2,0,0,"-"]},"eventmq.client.messages":{defer_job:[2,3,1,""],schedule:[2,3,1,""],send_request:[2,3,1,""],send_schedule_request:[2,3,1,""]},"eventmq.exceptions":{CallableFromPathError:[4,5,1,""],EventMQError:[4,5,1,""],InvalidMessageError:[4,5,1,""],MessageError:[4,5,1,""],NoAvailableWorkerSlotsError:[4,5,1,""],PeerGoneAwayError:[4,5,1,""],UnknownQueueError:[4,5,1,""]},"eventmq.jobmanager":{JobManager:[6,4,1,""],mp_init:[6,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[6,2,1,""],concurrent_jobs:[6,1,1,""],jobmanager_main:[6,2,1,""],name:[6,1,1,""],on_heartbeat:[6,2,1,""],on_request:[6,2,1,""],outgoing:[6,1,1,""],queues:[6,1,1,""],send_ready:[6,2,1,""],send_reply:[6,2,1,""]},"eventmq.poller":{Poller:[7,4,1,""]},"eventmq.poller.Poller":{"__init__":[7,2,1,""],poll:[7,2,1,""],register:[7,2,1,""],unregister:[7,2,1,""]},"eventmq.receiver":{Receiver:[9,4,1,""]},"eventmq.receiver.Receiver":{"__init__":[9,2,1,""],connect:[9,2,1,""],listen:[9,2,1,""],name:[9,1,1,""],ready:[9,1,1,""],unbind:[9,2,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.router":{Router:[10,4,1,""]},"eventmq.router.Router":{add_scheduler:[10,2,1,""],add_worker:[10,2,1,""],clean_up_dead_schedulers:[10,2,1,""],clean_up_dead_workers:[10,2,1,""],get_available_worker:[10,2,1,""],get_status:[10,2,1,""],job_latencies:[10,1,1,""],on_disconnect:[10,2,1,""],on_heartbeat:[10,2,1,""],on_inform:[10,2,1,""],on_ready:[10,2,1,""],on_reply:[10,2,1,""],on_request:[10,2,1,""],prioritize_queue_list:[10,6,1,""],process_client_message:[10,2,1,""],process_worker_message:[10,2,1,""],queues:[10,1,1,""],received_disconnect:[10,1,1,""],requeue_worker:[10,2,1,""],reset_heartbeat_counters:[10,2,1,""],router_main:[10,2,1,""],scheduler_queue:[10,1,1,""],schedulers:[10,1,1,""],send_ack:[10,2,1,""],send_heartbeat:[10,2,1,""],send_schedulers_heartbeats:[10,2,1,""],send_workers_heartbeats:[10,2,1,""],sighup_handler:[10,2,1,""],start:[10,2,1,""],waiting_messages:[10,1,1,""],workers:[10,1,1,""]},"eventmq.sender":{Sender:[11,4,1,""]},"eventmq.sender.Sender":{"__init__":[11,2,1,""],connect:[11,2,1,""],listen:[11,2,1,""],name:[11,1,1,""],ready:[11,1,1,""],rebuild:[11,2,1,""],unbind:[11,2,1,""],zcontext:[11,1,1,""],zsocket:[11,1,1,""]},"eventmq.utils":{classes:[14,0,0,"-"],devices:[15,0,0,"-"],messages:[17,0,0,"-"],random_characters:[16,3,1,""],settings:[18,0,0,"-"],timeutils:[19,0,0,"-"],tuplify:[16,3,1,""],zero_index_cmp:[16,3,1,""]},"eventmq.utils.classes":{EMQPService:[14,4,1,""],EMQdeque:[14,4,1,""],HeartbeatMixin:[14,4,1,""],ZMQReceiveMixin:[14,4,1,""],ZMQSendMixin:[14,4,1,""]},"eventmq.utils.classes.EMQPService":{"__weakref__":[14,1,1,""],is_heartbeat_enabled:[14,1,1,""],on_ack:[14,2,1,""],process_message:[14,2,1,""],reset:[14,2,1,""],send_inform:[14,2,1,""],start:[14,2,1,""]},"eventmq.utils.classes.EMQdeque":{"__init__":[14,2,1,""],"__weakref__":[14,1,1,""],append:[14,2,1,""],appendleft:[14,2,1,""],extend:[14,2,1,""],is_empty:[14,2,1,""],is_full:[14,2,1,""],is_pfull:[14,2,1,""],peek:[14,2,1,""],peekleft:[14,2,1,""],pop:[14,2,1,""],popleft:[14,2,1,""],remove:[14,2,1,""]},"eventmq.utils.classes.HeartbeatMixin":{"__init__":[14,2,1,""],"__weakref__":[14,1,1,""],is_dead:[14,2,1,""],reset_heartbeat_counters:[14,2,1,""],send_heartbeat:[14,2,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[14,1,1,""],recv:[14,2,1,""],recv_multipart:[14,2,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[14,1,1,""],send:[14,2,1,""],send_multipart:[14,2,1,""]},"eventmq.utils.devices":{generate_device_name:[15,3,1,""]},"eventmq.utils.messages":{fwd_emqp_router_message:[17,3,1,""],generate_msgid:[17,3,1,""],parse_message:[17,3,1,""],parse_router_message:[17,3,1,""],send_emqp_message:[17,3,1,""],send_emqp_router_message:[17,3,1,""]},"eventmq.utils.settings":{import_settings:[18,3,1,""]},"eventmq.utils.timeutils":{IntervalIter:[19,4,1,""],monotonic:[19,3,1,""],seconds_until:[19,3,1,""],timestamp:[19,3,1,""]},"eventmq.utils.timeutils.IntervalIter":{"__init__":[19,2,1,""],"__weakref__":[19,1,1,""]},eventmq:{client:[1,0,0,"-"],exceptions:[4,0,0,"-"],jobmanager:[6,0,0,"-"],poller:[7,0,0,"-"],receiver:[9,0,0,"-"],router:[10,0,0,"-"],sender:[11,0,0,"-"],utils:[16,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","class","Python class"],"5":["py","exception","Python exception"],"6":["py","classmethod","Python class method"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:function","4":"py:class","5":"py:exception","6":"py:classmethod"},terms:{"0mq":[8,14],"5min":19,"__init__":[6,7,9,11,14,19],"__weakref__":[14,19],"_empty_":8,"_headers_":8,"_msg_":8,"_msgid_":8,"_queue_name_":8,"_queues_":8,"_recipient_id":14,"_topic_name_":8,"_unix_ts_":8,"abstract":8,"boolean":14,"case":[8,14,19],"class":[],"default":[2,6,8,9,10,11,12,14],"float":[14,19],"function":[2,6],"import":[2,3,6,10,12,18],"int":[2,7,8,10,14,19],"long":[7,14],"new":[6,10,14],"public":8,"return":[2,3,7,9,10,11,14,15,16,17,19],"short":10,"true":[8,9,10,11,14],"while":8,abl:[10,12],about:[6,8,10],absolut:3,accept:[8,12,14],account:[10,17],ack:[6,8,10],ackd_msgid:14,acknowledg:[6,8,10],across:8,act:[1,8],actual:[6,10],add:10,add_schedul:10,add_work:10,addr:[9,11,14],address:[],administrative_addr:10,after:8,agre:8,all:[2,4,6,8,9,10,11,14],allow:8,alpha:8,alreadi:10,also:14,alwai:2,and_data:17,ani:[2,8,10,16],announc:10,anoth:[6,10,12],anyth:12,app:14,appear:7,append:14,appendleft:14,appened:10,appli:18,applic:[2,8],arg2:2,arg3:2,arg:[2,6,7,9,10,11,14],argument:14,arithmet:19,arrai:8,ascii:15,assign:12,assum:19,attempt:[4,10],attr:7,automat:14,avail:[4,10],available_slot:10,awaiting_ack:14,back:[8,10,14],backend_addr:10,backward:14,base:[4,7,12,14],basi:8,becaus:[10,14],becom:12,been:[2,10,14],befor:[2,7,8],begin:[10,12,14,19],belong:10,below:8,best:2,between:[2,8,19],block:12,bool:[2,6,9,11,14],boot:19,both:[7,8],box:12,broadcast:8,broker:[6,8,14],broker_addr:6,buffer:10,build:[10,11],built:8,bulid:9,calcul:19,call:[2,7,10,14],callabl:[2,4,6,9],callable_nam:4,callablefrompatherror:4,callback:14,can:[1,2,6,8,10,14,15,17],captur:14,care:15,caus:15,certain:14,chang:8,charact:16,check:[9,11,14],child:6,choos:12,circuit:10,class_arg:[2,6],class_kwarg:[2,6],classmethod:10,clean:8,clean_up_dead_schedul:10,clean_up_dead_work:10,clear:10,cli:10,client:[],clock:19,close:[14,19],cmp:16,code:[3,5,14],collect:14,colon:[2,12],come:[2,10],comma:8,command:[2,6,8,10,14,17],compar:16,compat:14,complet:8,compon:8,concurr:12,concurrent_job:[],conf:12,config:12,configur:[2,10,18],connction:[9,11],connect:[6,8,9,10,11,14,17],consist:8,construct:4,contact:4,contain:[1,8,10,14,16],context:[6,9,11],control:12,contruct:14,convers:8,convert:16,convienc:[7,14],copi:6,core:12,count:[6,8,10,19],counter:[10,14],cpu:12,creat:[10,11,16],cron:2,csv:8,current:[9,10,11,14],custom:10,cycl:12,data:[10,17],data_process:12,deal:16,dealer:11,death:14,debounc:2,debounce_deferred_job:2,debounce_sec:2,debug:8,decsend:10,defeat:8,defer:2,defer_job:2,defin:[2,6,8,9,11,14,19],deliv:[6,8],denot:2,depth:10,dequ:14,describ:8,descript:8,detail:8,detect:8,determin:8,devic:[],dialog:8,dict:[2,6,7],dictionari:[7,8,10],die:10,differ:3,directli:[7,14],disabl:2,distribut:8,doe:14,doesn:7,don:[6,8],dot:2,down:[12,19],dst:19,duplic:10,dure:11,each:10,effici:12,effort:2,either:[8,14],elaps:8,element:[10,14],els:[3,8],email:[8,12],empti:[8,17],emq:10,emqdequ:14,emqpservic:14,enabl:[2,14],encod:15,encount:[2,4],end:[2,14],ensur:[2,6,8,14],entri:10,equal:12,error:[2,14,15],etc:[10,12],evalu:2,even:8,event:[7,14],eventmq:[],eventmqerror:4,everi:[2,6],everyth:15,exampl:[10,12,14,19],except:[],exectu:10,execut:[2,8,12,19],exist:[4,6],explicitli:[12,14],expos:6,extend:14,extra:8,fail:[2,4,8],failur:2,fair:8,fals:[2,8,9,11,14],featur:15,few:3,field:8,file:12,find:14,finish:[8,10],first:[8,10,14,17],fit:8,flag:[2,7],follow:[2,8,14],fork:6,form:14,format:[2,6,8,10,17],forward:[10,14,17],found:[4,10,12],foundat:8,free:8,from:[4,6,7,8,9,10,11,14,19],frontend_addr:10,fuction:2,full:14,func:[2,6,14],fwd_emqp_router_messag:17,gener:[6,7,8,9,11,17],generate_device_nam:15,generate_msgid:17,get:10,get_available_work:10,get_statu:10,give:2,given:10,gnu:8,good:14,gotten:19,group:12,guarante:[2,8],guarente:2,hand:16,handl:[6,8,10,14],handler:6,happen:[2,7,10,11],hard:14,hasn:10,have:[2,12,14,17],haven:10,header:[],heartbeat:[],heartbeat_timeout:10,heartbeati:14,heartbeatmixin:14,heavi:8,help:12,helper:14,here:[8,10],highest:12,hit:14,hope:8,how:[2,7],html:8,http:8,ident:[8,15],identifi:10,ietf:8,ignor:[8,14],immedi:[2,8],immediatli:2,implement:[8,14],impli:8,import_set:18,includ:[2,8,14],index:[5,10,16],indexerror:10,indiviud:12,inform:[2,6,8,10,14],inherit:4,ini:[12,18],initi:[2,14],insert:[8,14],instal:3,instanc:6,instanti:[2,6],instead:8,integ:10,intens:12,interest:16,intern:4,interpret:8,interv:[2,8,19],interval_sec:[2,19],intervalit:19,invalidmessageerror:[4,10],is_dead:14,is_empti:14,is_ful:14,is_heartbeat_en:14,is_pful:14,isn:[10,14],issu:[3,5,8],item:14,iter:[7,10,14],iterat:14,itself:10,job:[],job_lat:10,job_schedul:2,jobmanag:[],jobmanager_main:6,json:2,keep:[6,10],kei:[7,8,10],kick:[6,10],know:[2,6,10],kwarg2:2,kwarg:[2,6,7,9,10,11,14],larg:12,larger:12,largest:10,last:[2,10,14],last_recv_heartbeat:10,lataneci:10,latenc:10,later:8,least:[8,14],leav:[8,12],left:14,length:[14,16],lesser:8,let:8,like:[6,14,16],limit:14,list:[2,4,6,8,10,12,14,16,19],listen:[6,9,10,11,12,14],load:12,local:12,locat:2,log:[2,6,10],logic:[6,10],longer:[4,12],look:14,loop:[7,10,14],lot:12,lower:10,mai:[8,10,14],main:6,make:16,malform:4,manag:[],mani:[2,8,11],manual:8,master:8,match:14,measur:10,member:10,memebership:10,merchant:8,mess:19,messag:[],message_bodi:17,message_id:17,messageerror:4,met:14,meta:[10,17],method:[2,6,7,10,14],minut:2,model:12,modifi:8,modul:[1,5,6,16],monoton:[10,14,19],more:[2,8,14,16],most:14,mp_init:6,msg:[6,8,10,14,17],msgid:[6,10,14],multipart:[8,14],multiprocess:[6,12],must:[2,8,14],name:[2,6,8,9,10,11,12,18],need:[6,10,11],never:[6,19],next:[7,10,12,19],noavailableworkerslotserror:[4,10],nohast:8,none:[2,6,9,10,11,14,15,17],noop:6,normal:14,note:[6,9,11],notifi:14,now:14,number:[2,10,12,19],numer:19,obj:10,object:[7,14,16,19],occur:14,off:[6,10],on_ack:14,on_command:[10,14],on_disconnect:10,on_emqp_command:14,on_ful:14,on_heartbeat:[6,10],on_inform:10,on_readi:10,on_recv:9,on_repli:10,on_request:[6,10],on_schedul:14,onc:8,onlin:[10,14],option:[2,6,8,9,11,17],order:10,org:8,orient:8,origin:8,original_msg:10,other:[2,8,12],otherwis:[6,9,11,14],out:[6,14],outgo:[6,14],own:14,page:5,param:2,paramet:[2,6,7,9,10,11,14,15,16,17,18,19],pars:[10,14,17],parse_messag:17,parse_router_messag:17,part:[8,17],particular:[8,11],pass:[2,8,9,14],path:[2,4,6],payload:17,peek:14,peekleft:14,peer:[4,8,14],peergoneawayerror:[4,10],pend:8,per:10,pfull:14,pictur:8,placehold:[6,10],point:12,poll:7,poller:[],pollin:7,pollout:7,pool:[8,10],pop:[10,14],popleft:14,port:10,portion:6,possibl:3,practic:14,prefix:[15,17],prepar:10,prepend:8,pretti:[8,12],priorit:10,prioriti:10,prioritiess:10,prioritize_queue_list:10,problem:4,process:[6,8,10,11,12,14],process_client_messag:10,process_messag:[6,14],process_worker_messag:10,programm:14,proper:14,properti:[9,11,14],protocol:[],protocol_vers:14,provid:[10,14],pub:8,publish:8,purpos:8,push_notif:14,py2:19,py3:19,python3:15,python:[6,14],queue:[],queue_nam:10,rais:[2,4,9,10,11,14,17],random:[16,17],random_charact:16,raw:14,readi:[6,8,9,10,11,12,14],rebind:10,rebuild:11,rebuilt:6,receiv:[],received_disconnect:10,recent:[8,10],recipi:[6,10,14,17],recipient_id:17,recommend:[8,12,14],reconnect:11,recurs:[10,16],recus:10,recv:14,recv_multipart:14,redistribut:8,refer:[6,8,14,19],regist:[6,7,10],regular:8,reject:14,rel:3,reliabl:8,reload:10,remain:7,remot:14,remov:[8,10,14],reopen:14,rep:9,repli:[2,6,8,10,17],reply_request:2,repres:19,req:11,request:[1,2,6,8,10,14],requeue_work:10,requir:8,reset:[10,14],reset_heartbeat_count:[10,14],resourc:[6,8],respond:[8,10,14],respons:[6,9,10,11],restart:[8,11],retri:[2,8,10],retry_count:2,rfc2119:8,rfc:8,right:14,robin:8,roughli:11,round:8,rout:[8,10],router:[],router_main:10,run:[2,6,8,10,12,14],safe:12,sake:19,same:[11,16],schedul:[],scheduler_id:10,scheduler_queu:10,scheduler_zmq_id:10,search:5,sec:2,second:[2,19],seconds_until:19,section:18,see:[2,7,8,10,14],self:[6,10,11,14],semi:12,send:[2,4,6,8,10,11,14,17],send_ack:10,send_emqp_messag:17,send_emqp_router_messag:17,send_heartbeat:[10,14],send_inform:14,send_multipart:14,send_readi:6,send_repli:6,send_request:2,send_schedule_request:2,send_schedulers_heartbeat:10,send_workers_heartbeat:10,sender:[],sender_id:17,sent:[2,6,8,10,12,14],seper:[2,8,12],serial:10,serializ:2,serv:8,server:[6,8,12],servic:[8,14],service_typ:14,set:[],shall:8,should:[2,4,7,8,9,10,11,12,14,17],shown:8,sighup:10,sighup_handl:10,signal:6,signum:10,similar:12,simpl:[10,16],sinc:19,singl:[8,14],size:14,skip:[11,14],skip_sign:6,skip_zmqstream:11,slot:10,slow:12,smaller:12,socket:[2,6,7,8,9,10,11,14,15,17],softwar:8,some:[2,6,12,14,16,17],someon:8,someth:[2,11,12,14,19],somewher:3,sort:16,sourc:[3,5],spawn:6,specif:[],specifi:[8,14,16],standard:12,start:[6,9,10,11,12,14,19],start_valu:19,state:[10,14],statu:8,still:[10,12],stop:8,store:10,str:[2,6,9,10,11,14,15,16,17,18],string:[2,8,9,10,11,14,15,17],structur:4,style:12,sub:8,subclass:4,subcmd:6,subcommand:[2,6],subject:8,subset:8,subtract:19,success:8,successfulli:14,support:14,system:[3,10],take:[10,11,14,15,17],task:[2,6],tcp:10,tell:6,term:8,termin:6,test:6,thei:[2,14],them:9,thi:[1,2,4,6,7,8,9,10,11,12,14,15,16,17,19],thier:12,thing:[2,6,11,12,14,16,17],those:6,thread:12,threshold:14,through:[8,10],time:[],timeout:7,timestamp:[8,10,19],timeutil:[],tip:3,tool:8,topic:8,trace:8,track:[6,10,14],tri:2,tune:12,tupl:[6,7,10,14,16,17],tuplifi:16,type:[2,8,9,10,11,14,16,17],type_:14,typecast:7,typeerror:[2,9],unabl:10,unbind:[9,11],undefin:7,under:8,unicod:15,uniqu:[6,8,10],unit:6,unix:8,unknownqueueerror:[4,10],unless:[6,9,11],unprioritized_iter:10,unregist:7,unschedul:[2,8],until:[12,19],untouch:[10,17],unus:8,updat:14,upon:8,upstream:6,usag:19,usual:[14,19],util:[],utilit:[],utlitii:14,uuid:[6,9,10,11],valid:8,valu:[2,7,8,10,14,16,17,19],valueerror:14,variabl:14,version:[3,8,14],via:[2,19],wait:[2,7,12],waiting_messag:10,walk:6,want:[8,12,14],warn:10,warranti:8,weak:[14,19],web:8,weight:[8,12,14],well:8,when:[1,2,3,4,6,8,9,10,11,14,15,16],where:[2,8,10,14,19],which:[8,10,14,15],who:[1,10],wish:17,without:[6,8,11],word:8,work:[3,6,14],worker:[],worker_id:10,worri:8,would:[12,14,19],wrap:2,wrapper:2,you:[3,8,10,11,12,14,17],your:[2,8,12,14],zcontext:[9,11],zero_index_cmp:16,zeromq:8,zmq:[7,8,9,10,11,14,15,17],zmqreceivemixin:14,zmqsendmixin:14,zmqstream:11,zsocket:[9,11]},titles:["API Documentation","<code class=\"docutils literal\"><span class=\"pre\">client</span></code> &#8211; Client Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> &#8211; Client Messaging","Contributing to EventMQ","<code class=\"docutils literal\"><span class=\"pre\">exceptions</span></code> &#8211; Exceptions","EventMQ Documentation","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> &#8211; Job Manager","<code class=\"docutils literal\"><span class=\"pre\">poller</span></code> &#8211; Poller","EventMQ Protocol Specification","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> &#8211; Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> &#8211; Router","<code class=\"docutils literal\"><span class=\"pre\">sender</span></code> &#8211; Sender","Settings","Using EventMQ","<code class=\"docutils literal\"><span class=\"pre\">classes</span></code> &#8211; Utility Classes","<code class=\"docutils literal\"><span class=\"pre\">devices</span></code> &#8211; Device Utilities","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> &#8211; Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> &#8211; Message Utilities","<code class=\"docutils literal\"><span class=\"pre\">settings</span></code> &#8211; Settings Utilities","<code class=\"docutils literal\"><span class=\"pre\">timeutils</span></code> &#8211; Time Utilites"],titleterms:{"class":14,address:8,api:0,architectur:8,client:[1,2,8],concurrent_job:12,contribut:3,devic:15,disconnect:8,document:[0,5],emqp:8,eventmq:[3,5,8,13],except:4,frame:8,global:8,goal:8,header:8,heartbeat:8,indic:5,job:[6,12],jobmanag:6,kbai:8,languag:8,licens:8,manag:[6,12],messag:[2,17],poller:7,protocol:8,queue:12,receiv:9,router:[8,10,12],schedul:[8,12],sender:11,set:[12,18],specif:8,tabl:5,time:19,timeutil:19,topolog:8,util:[1,14,15,16,17,18],utilit:19,worker:8}}) \ No newline at end of file Search.setIndex({envversion:46,filenames:["api","client","client/messages","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","settings_file","using","utils/classes","utils/devices","utils/index","utils/messages","utils/settings","utils/timeutils"],objects:{"eventmq.client":{messages:[2,0,0,"-"]},"eventmq.client.messages":{defer_job:[2,3,1,""],schedule:[2,3,1,""],send_request:[2,3,1,""],send_schedule_request:[2,3,1,""]},"eventmq.exceptions":{CallableFromPathError:[4,5,1,""],EventMQError:[4,5,1,""],InvalidMessageError:[4,5,1,""],MessageError:[4,5,1,""],NoAvailableWorkerSlotsError:[4,5,1,""],PeerGoneAwayError:[4,5,1,""],UnknownQueueError:[4,5,1,""]},"eventmq.jobmanager":{JobManager:[6,4,1,""],mp_init:[6,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[6,2,1,""],concurrent_jobs:[6,1,1,""],jobmanager_main:[6,2,1,""],name:[6,1,1,""],on_heartbeat:[6,2,1,""],on_request:[6,2,1,""],outgoing:[6,1,1,""],queues:[6,1,1,""],send_ready:[6,2,1,""],send_reply:[6,2,1,""]},"eventmq.poller":{Poller:[7,4,1,""]},"eventmq.poller.Poller":{"__init__":[7,2,1,""],poll:[7,2,1,""],register:[7,2,1,""],unregister:[7,2,1,""]},"eventmq.receiver":{Receiver:[9,4,1,""]},"eventmq.receiver.Receiver":{"__init__":[9,2,1,""],connect:[9,2,1,""],listen:[9,2,1,""],name:[9,1,1,""],ready:[9,1,1,""],unbind:[9,2,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.router":{Router:[10,4,1,""]},"eventmq.router.Router":{add_scheduler:[10,2,1,""],add_worker:[10,2,1,""],clean_up_dead_schedulers:[10,2,1,""],clean_up_dead_workers:[10,2,1,""],executed_functions:[10,1,1,""],get_available_worker:[10,2,1,""],get_status:[10,2,1,""],job_latencies:[10,1,1,""],on_disconnect:[10,2,1,""],on_heartbeat:[10,2,1,""],on_inform:[10,2,1,""],on_ready:[10,2,1,""],on_reply:[10,2,1,""],on_request:[10,2,1,""],prioritize_queue_list:[10,6,1,""],process_client_message:[10,2,1,""],process_worker_message:[10,2,1,""],queues:[10,1,1,""],received_disconnect:[10,1,1,""],requeue_worker:[10,2,1,""],reset_heartbeat_counters:[10,2,1,""],router_main:[10,2,1,""],scheduler_queue:[10,1,1,""],schedulers:[10,1,1,""],send_ack:[10,2,1,""],send_heartbeat:[10,2,1,""],send_schedulers_heartbeats:[10,2,1,""],send_workers_heartbeats:[10,2,1,""],sighup_handler:[10,2,1,""],start:[10,2,1,""],waiting_messages:[10,1,1,""],workers:[10,1,1,""]},"eventmq.sender":{Sender:[11,4,1,""]},"eventmq.sender.Sender":{"__init__":[11,2,1,""],connect:[11,2,1,""],listen:[11,2,1,""],name:[11,1,1,""],ready:[11,1,1,""],rebuild:[11,2,1,""],unbind:[11,2,1,""],zcontext:[11,1,1,""],zsocket:[11,1,1,""]},"eventmq.utils":{classes:[14,0,0,"-"],devices:[15,0,0,"-"],messages:[17,0,0,"-"],random_characters:[16,3,1,""],settings:[18,0,0,"-"],timeutils:[19,0,0,"-"],tuplify:[16,3,1,""],zero_index_cmp:[16,3,1,""]},"eventmq.utils.classes":{EMQPService:[14,4,1,""],EMQdeque:[14,4,1,""],HeartbeatMixin:[14,4,1,""],ZMQReceiveMixin:[14,4,1,""],ZMQSendMixin:[14,4,1,""]},"eventmq.utils.classes.EMQPService":{"__weakref__":[14,1,1,""],is_heartbeat_enabled:[14,1,1,""],on_ack:[14,2,1,""],process_message:[14,2,1,""],reset:[14,2,1,""],send_inform:[14,2,1,""],start:[14,2,1,""]},"eventmq.utils.classes.EMQdeque":{"__init__":[14,2,1,""],"__weakref__":[14,1,1,""],append:[14,2,1,""],appendleft:[14,2,1,""],extend:[14,2,1,""],is_empty:[14,2,1,""],is_full:[14,2,1,""],is_pfull:[14,2,1,""],peek:[14,2,1,""],peekleft:[14,2,1,""],pop:[14,2,1,""],popleft:[14,2,1,""],remove:[14,2,1,""]},"eventmq.utils.classes.HeartbeatMixin":{"__init__":[14,2,1,""],"__weakref__":[14,1,1,""],is_dead:[14,2,1,""],reset_heartbeat_counters:[14,2,1,""],send_heartbeat:[14,2,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[14,1,1,""],recv:[14,2,1,""],recv_multipart:[14,2,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[14,1,1,""],send:[14,2,1,""],send_multipart:[14,2,1,""]},"eventmq.utils.devices":{generate_device_name:[15,3,1,""]},"eventmq.utils.messages":{fwd_emqp_router_message:[17,3,1,""],generate_msgid:[17,3,1,""],parse_message:[17,3,1,""],parse_router_message:[17,3,1,""],send_emqp_message:[17,3,1,""],send_emqp_router_message:[17,3,1,""]},"eventmq.utils.settings":{import_settings:[18,3,1,""]},"eventmq.utils.timeutils":{IntervalIter:[19,4,1,""],monotonic:[19,3,1,""],seconds_until:[19,3,1,""],timestamp:[19,3,1,""]},"eventmq.utils.timeutils.IntervalIter":{"__init__":[19,2,1,""],"__weakref__":[19,1,1,""]},eventmq:{client:[1,0,0,"-"],exceptions:[4,0,0,"-"],jobmanager:[6,0,0,"-"],poller:[7,0,0,"-"],receiver:[9,0,0,"-"],router:[10,0,0,"-"],sender:[11,0,0,"-"],utils:[16,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","class","Python class"],"5":["py","exception","Python exception"],"6":["py","classmethod","Python class method"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:function","4":"py:class","5":"py:exception","6":"py:classmethod"},terms:{"0mq":[8,14],"5min":19,"__init__":[6,7,9,11,14,19],"__weakref__":[14,19],"_empty_":8,"_headers_":8,"_msg_":8,"_msgid_":8,"_queue_name_":8,"_queues_":8,"_recipient_id":14,"_topic_name_":8,"_unix_ts_":8,"abstract":8,"boolean":14,"case":[8,14,19],"class":[],"default":[2,6,8,9,10,11,12,14],"float":[14,19],"function":[2,6,10],"import":[2,3,6,10,12,18],"int":[2,7,8,10,14,19],"long":[7,14],"new":[6,10,14],"public":8,"return":[2,3,7,9,10,11,14,15,16,17,19],"short":10,"true":[8,9,10,11,14],"while":8,abl:[10,12],about:[6,8,10],absolut:3,accept:[8,12,14],account:[10,17],ack:[6,8,10],ackd_msgid:14,acknowledg:[6,8,10],across:8,act:[1,8],actual:[6,10],add:10,add_schedul:10,add_work:10,addr:[9,11,14],address:[],administrative_addr:10,after:8,agre:8,all:[2,4,6,8,9,10,11,14],allow:8,alpha:8,alreadi:10,also:14,alwai:2,and_data:17,ani:[2,8,10,16],announc:10,anoth:[6,10,12],anyth:12,app:14,appear:7,append:14,appendleft:14,appened:10,appli:18,applic:[2,8],arg2:2,arg3:2,arg:[2,6,7,9,10,11,14],argument:14,arithmet:19,arrai:8,ascii:15,assign:12,assum:19,attempt:[4,10],attr:7,automat:14,avail:[4,10],available_slot:10,awaiting_ack:14,back:[8,10,14],backend_addr:10,backward:14,base:[4,7,12,14],basi:8,becaus:[10,14],becom:12,been:[2,10,14],befor:[2,7,8],begin:[10,12,14,19],belong:10,below:8,best:2,between:[2,8,19],block:12,bool:[2,6,9,11,14],boot:19,both:[7,8],box:12,broadcast:8,broker:[6,8,14],broker_addr:6,buffer:10,build:[10,11],built:8,bulid:9,calabl:2,calcul:19,call:[2,7,10,14],callabl:[2,4,6,9],callable_nam:4,callablefrompatherror:4,callback:14,can:[1,2,6,8,10,14,15,17],captur:14,care:15,caus:15,certain:14,chang:8,charact:16,check:[9,11,14],child:6,choos:12,circuit:10,class_arg:[2,6],class_kwarg:[2,6],classmethod:10,clean:8,clean_up_dead_schedul:10,clean_up_dead_work:10,clear:10,cli:10,client:[],clock:19,close:[14,19],cmp:16,code:[3,5,14],collect:14,colon:[2,12],come:[2,10],comma:8,command:[2,6,8,10,14,17],compar:16,compat:14,complet:8,compon:8,concurr:12,concurrent_job:[],conf:12,config:12,configur:[2,10,18],connction:[9,11],connect:[6,8,9,10,11,14,17],consist:8,construct:4,contact:4,contain:[1,8,10,14,16],context:[6,9,11],control:12,contruct:14,convers:8,convert:16,convienc:[7,14],copi:6,core:12,count:[6,8,10,19],counter:[10,14],cpu:12,creat:[10,11,16],cron:2,csv:8,current:[9,10,11,14],custom:10,cycl:12,data:[10,17],data_process:12,deal:16,dealer:11,death:14,debounc:2,debounce_deferred_job:2,debounce_sec:2,debug:8,decsend:10,defeat:8,defer:2,defer_job:2,defin:[2,6,8,9,11,14,19],deliv:[6,8],denot:2,depth:10,dequ:14,describ:8,descript:8,detail:8,detect:8,determin:8,devic:[],dialog:8,dict:[2,6,7],dictionari:[7,8,10],die:10,differ:3,directli:[7,14],disabl:2,distribut:8,doe:14,doesn:7,don:[6,8],dot:2,down:[12,19],dst:19,duplic:10,dure:11,each:10,effici:12,effort:2,either:[8,14],elaps:8,element:[10,14],els:[3,8],email:[8,12],empti:[8,17],emq:10,emqdequ:14,emqpservic:14,enabl:[2,14],encod:15,encount:[2,4],end:[2,14],ensur:[2,6,8,14],entri:10,equal:12,error:[2,14,15],etc:[10,12],evalu:2,even:8,event:[7,14],eventmq:[],eventmqerror:4,everi:[2,6],everyth:15,exampl:[10,12,14,19],excecut:10,except:[],exectu:10,execut:[2,8,12,19],executed_funct:10,exist:[4,6],explicitli:[12,14],expos:6,extend:14,extra:8,fail:[2,4,8],failur:2,fair:8,fals:[2,8,9,11,14],featur:15,few:3,field:8,file:12,find:14,finish:[8,10],first:[8,10,14,17],fit:8,flag:[2,7],follow:[2,8,14],fork:6,form:14,format:[2,6,8,10,17],forward:[10,14,17],found:[4,10,12],foundat:8,free:8,from:[4,6,7,8,9,10,11,14,19],frontend_addr:10,fuction:2,full:14,func:[2,6,14],function_nam:10,fwd_emqp_router_messag:17,gener:[6,7,8,9,11,17],generate_device_nam:15,generate_msgid:17,get:10,get_available_work:10,get_statu:10,give:2,given:10,gnu:8,good:14,gotten:19,group:12,guarante:[2,8],guarente:2,hand:16,handl:[6,8,10,14],handler:6,happen:[2,7,10,11],hard:14,hasn:10,have:[2,12,14,17],haven:10,header:[],heartbeat:[],heartbeat_timeout:10,heartbeati:14,heartbeatmixin:14,heavi:8,help:12,helper:14,here:[8,10],highest:12,hit:14,hope:8,how:[2,7],html:8,http:8,ident:[8,15],identifi:10,ietf:8,ignor:[8,14],immedi:[2,8],immediatli:2,implement:[8,14],impli:8,import_set:18,includ:[2,8,14],index:[5,10,16],indexerror:10,indiviud:12,infinit:2,inform:[2,6,8,10,14],inherit:4,ini:[12,18],initi:[2,14],insert:[8,14],instal:3,instanc:6,instanti:[2,6],instead:8,integ:10,intens:12,interest:16,intern:4,interpret:8,interv:[2,8,19],interval_sec:[2,19],intervalit:19,invalidmessageerror:[4,10],is_dead:14,is_empti:14,is_ful:14,is_heartbeat_en:14,is_pful:14,isn:[10,14],issu:[3,5,8],item:14,iter:[7,10,14],iterat:14,itself:10,job:[],job_lat:10,job_schedul:2,jobmanag:[],jobmanager_main:6,json:2,keep:[6,10],kei:[7,8,10],kick:[6,10],kill:[2,8],know:[2,6,10],kwarg2:2,kwarg:[2,6,7,9,10,11,14],larg:12,larger:12,largest:10,last:[2,10,14],last_recv_heartbeat:10,lataneci:10,latenc:10,later:8,least:[8,14],leav:[8,12],left:14,length:[14,16],lesser:8,let:8,like:[6,14,16],limit:14,list:[2,4,6,8,10,12,14,16,19],listen:[6,9,10,11,12,14],load:12,local:12,locat:2,log:[2,6,10],logic:[6,10],longer:[4,12],look:14,loop:[7,10,14],lot:12,lower:10,mai:[8,10,14],main:6,make:16,malform:4,manag:[],mani:[2,8,11],manual:8,master:8,match:14,mean:2,measur:10,member:10,memebership:10,merchant:8,mess:19,messag:[],message_bodi:17,message_id:17,messageerror:4,met:14,meta:[10,17],method:[2,6,7,10,14],minut:2,model:12,modifi:8,modul:[1,5,6,16],monoton:[10,14,19],more:[2,8,14,16],most:14,mp_init:6,msg:[6,8,10,14,17],msgid:[6,10,14],multipart:[8,14],multiprocess:[6,12],must:[2,8,14],name:[2,6,8,9,10,11,12,18],need:[6,10,11],never:[6,8,19],next:[7,10,12,19],noavailableworkerslotserror:[4,10],nohast:8,none:[2,6,9,10,11,14,15,17],noop:6,normal:14,note:[6,9,11],notifi:14,now:14,number:[2,10,12,19],numer:19,obj:10,object:[7,14,16,19],occur:14,off:[6,10],on_ack:14,on_command:[10,14],on_disconnect:10,on_emqp_command:14,on_ful:14,on_heartbeat:[6,10],on_inform:10,on_readi:10,on_recv:9,on_repli:10,on_request:[6,10],on_schedul:14,onc:8,onlin:[10,14],option:[2,6,8,9,11,17],order:10,org:8,orient:8,origin:8,original_msg:10,other:[2,8,12],otherwis:[6,9,11,14],out:[6,8,14],outgo:[6,14],own:14,page:5,param:2,paramet:[2,6,7,9,10,11,14,15,16,17,18,19],pars:[10,14,17],parse_messag:17,parse_router_messag:17,part:[8,17],particular:[8,11],pass:[2,8,9,14],path:[2,4,6],payload:17,peek:14,peekleft:14,peer:[4,8,14],peergoneawayerror:[4,10],pend:8,per:10,pfull:14,pictur:8,placehold:[6,10],point:12,poll:7,poller:[],pollin:7,pollout:7,pool:[8,10],pop:[10,14],popleft:14,port:10,portion:6,possibl:3,practic:14,prefix:[15,17],prepar:10,prepend:8,pretti:[8,12],priorit:10,prioriti:10,prioritiess:10,prioritize_queue_list:10,problem:4,process:[6,8,10,11,12,14],process_client_messag:10,process_messag:[6,14],process_worker_messag:10,programm:14,proper:14,properti:[9,11,14],protocol:[],protocol_vers:14,provid:[10,14],pub:8,publish:8,purpos:8,push_notif:14,py2:19,py3:19,python3:15,python:[6,14],queue:[],queue_nam:10,rais:[2,4,9,10,11,14,17],random:[16,17],random_charact:16,raw:14,readi:[6,8,9,10,11,12,14],rebind:10,rebuild:11,rebuilt:6,receiv:[],received_disconnect:10,recent:[8,10],recipi:[6,10,14,17],recipient_id:17,recommend:[8,12,14],reconnect:11,recurs:[10,16],recus:10,recv:14,recv_multipart:14,redistribut:8,refer:[6,8,14,19],regist:[6,7,10],regular:8,reject:14,rel:3,reliabl:8,reload:10,remain:7,remot:14,remov:[8,10,14],reopen:14,rep:9,repli:[2,6,8,10,17],reply_request:2,repres:19,req:11,request:[1,2,6,8,10,14],requeue_work:10,requir:8,reset:[10,14],reset_heartbeat_count:[10,14],resourc:[6,8],respond:[8,10,14],respons:[6,9,10,11],restart:[8,11],retri:[2,8,10],retry_count:2,rfc2119:8,rfc:8,right:14,robin:8,roughli:11,round:8,rout:[8,10],router:[],router_main:10,run:[2,6,8,10,12,14],safe:12,sake:19,same:[11,16],schedul:[],scheduler_id:10,scheduler_queu:10,scheduler_zmq_id:10,search:5,sec:2,second:[2,8,19],seconds_until:19,section:18,see:[2,7,8,10,14],self:[6,10,11,14],semi:12,send:[2,4,6,8,10,11,14,17],send_ack:10,send_emqp_messag:17,send_emqp_router_messag:17,send_heartbeat:[10,14],send_inform:14,send_multipart:14,send_readi:6,send_repli:6,send_request:2,send_schedule_request:2,send_schedulers_heartbeat:10,send_workers_heartbeat:10,sender:[],sender_id:17,sent:[2,6,8,10,12,14],seper:[2,8,12],serial:10,serializ:2,serv:8,server:[6,8,12],servic:[8,14],service_typ:14,set:[],shall:8,should:[2,4,7,8,9,10,11,12,14,17],shown:8,sighup:10,sighup_handl:10,signal:6,signum:10,similar:12,simpl:[10,16],sinc:19,singl:[8,14],size:14,skip:[11,14],skip_sign:6,skip_zmqstream:11,slot:10,slow:12,smaller:12,socket:[2,6,7,8,9,10,11,14,15,17],softwar:8,some:[2,6,12,14,16,17],someon:8,someth:[2,11,12,14,19],somewher:3,sort:16,sourc:[3,5],spawn:6,specif:[],specifi:[8,14,16],standard:12,start:[6,9,10,11,12,14,19],start_valu:19,state:[10,14],statu:8,still:[10,12],stop:8,store:10,str:[2,6,9,10,11,14,15,16,17,18],string:[2,8,9,10,11,14,15,17],structur:4,style:12,sub:8,subclass:4,subcmd:6,subcommand:[2,6],subject:8,subset:8,subtract:19,success:8,successfulli:14,support:14,system:[3,10],take:[10,11,14,15,17],task:[2,6],tcp:10,tell:6,term:8,termin:6,test:6,thei:[2,14],them:9,thi:[1,2,4,6,7,8,9,10,11,12,14,15,16,17,19],thier:12,thing:[2,6,11,12,14,16,17],those:6,thread:12,threshold:14,through:[8,10],time:[],timeout:[2,7,8],timestamp:[8,10,19],timeutil:[],tip:3,tool:8,topic:8,trace:8,track:[6,10,14],tri:2,tune:12,tupl:[6,7,10,14,16,17],tuplifi:16,type:[2,8,9,10,11,14,16,17],type_:14,typecast:7,typeerror:[2,9],unabl:10,unbind:[9,11],undefin:7,under:8,unicod:15,uniqu:[6,8,10],unit:6,unix:8,unknownqueueerror:[4,10],unless:[6,9,11],unprioritized_iter:10,unregist:7,unschedul:[2,8],until:[12,19],untouch:[10,17],unus:8,updat:14,upon:8,upstream:6,usag:19,usual:[14,19],util:[],utilit:[],utlitii:14,uuid:[6,9,10,11],valid:8,valu:[2,7,8,10,14,16,17,19],valueerror:14,variabl:14,version:[3,8,14],via:[2,19],wait:[2,7,12],waiting_messag:10,walk:6,want:[8,12,14],warn:10,warranti:8,weak:[14,19],web:8,weight:[8,12,14],well:8,when:[1,2,3,4,6,8,9,10,11,14,15,16],where:[2,8,10,14,19],which:[2,8,10,14,15],who:[1,10],wish:17,without:[6,8,11],word:8,work:[3,6,14],worker:[],worker_id:10,worri:8,would:[12,14,19],wrap:2,wrapper:2,you:[3,8,10,11,12,14,17],your:[2,8,12,14],zcontext:[9,11],zero_index_cmp:16,zeromq:8,zmq:[7,8,9,10,11,14,15,17],zmqreceivemixin:14,zmqsendmixin:14,zmqstream:11,zsocket:[9,11]},titles:["API Documentation","<code class=\"docutils literal\"><span class=\"pre\">client</span></code> &#8211; Client Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> &#8211; Client Messaging","Contributing to EventMQ","<code class=\"docutils literal\"><span class=\"pre\">exceptions</span></code> &#8211; Exceptions","EventMQ Documentation","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> &#8211; Job Manager","<code class=\"docutils literal\"><span class=\"pre\">poller</span></code> &#8211; Poller","EventMQ Protocol Specification","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> &#8211; Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> &#8211; Router","<code class=\"docutils literal\"><span class=\"pre\">sender</span></code> &#8211; Sender","Settings","Using EventMQ","<code class=\"docutils literal\"><span class=\"pre\">classes</span></code> &#8211; Utility Classes","<code class=\"docutils literal\"><span class=\"pre\">devices</span></code> &#8211; Device Utilities","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> &#8211; Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> &#8211; Message Utilities","<code class=\"docutils literal\"><span class=\"pre\">settings</span></code> &#8211; Settings Utilities","<code class=\"docutils literal\"><span class=\"pre\">timeutils</span></code> &#8211; Time Utilites"],titleterms:{"class":14,address:8,api:0,architectur:8,client:[1,2,8],concurrent_job:12,contribut:3,devic:15,disconnect:8,document:[0,5],emqp:8,eventmq:[3,5,8,13],except:4,frame:8,global:8,goal:8,header:8,heartbeat:8,indic:5,job:[6,12],jobmanag:6,kbai:8,languag:8,licens:8,manag:[6,12],messag:[2,17],poller:7,protocol:8,queue:12,receiv:9,router:[8,10,12],schedul:[8,12],sender:11,set:[12,18],specif:8,tabl:5,time:19,timeutil:19,topolog:8,util:[1,14,15,16,17,18],utilit:19,worker:8}}) \ No newline at end of file
diff --git a/sender.html b/sender.html
index 30a722f..9ab4d42 100644
--- a/sender.html
+++ b/sender.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/settings_file.html b/settings_file.html
index c351b42..673302d 100644
--- a/settings_file.html
+++ b/settings_file.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/using.html b/using.html
index 8a37399..770465d 100644
--- a/using.html
+++ b/using.html
@@ -60,7 +60,7 @@
60 60
61 61
62 <div class="version"> 62 <div class="version">
63 0.2.6.5 63 0.2.7
64 </div> 64 </div>
65 65
66 66
diff --git a/utils/classes.html b/utils/classes.html
index 4e1ae6d..d03614e 100644
--- a/utils/classes.html
+++ b/utils/classes.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/utils/devices.html b/utils/devices.html
index a315fcf..93d3de0 100644
--- a/utils/devices.html
+++ b/utils/devices.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/utils/index.html b/utils/index.html
index 984c206..2369eb1 100644
--- a/utils/index.html
+++ b/utils/index.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/utils/messages.html b/utils/messages.html
index 52b1357..f4e13aa 100644
--- a/utils/messages.html
+++ b/utils/messages.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/utils/settings.html b/utils/settings.html
index d7fec22..3a19cd3 100644
--- a/utils/settings.html
+++ b/utils/settings.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67
diff --git a/utils/timeutils.html b/utils/timeutils.html
index e395705..b3ace5e 100644
--- a/utils/timeutils.html
+++ b/utils/timeutils.html
@@ -61,7 +61,7 @@
61 61
62 62
63 <div class="version"> 63 <div class="version">
64 0.2.6.5 64 0.2.7
65 </div> 65 </div>
66 66
67 67